Voir aussi
Adapter une zone du tableaur à la taille de l'écran
Comment faire en sorte que seules les colonnes V à AB soient affichées à l'écran et qu'elles l'occupent en entier ?
Utilise une macro:
Sub zoomauto()
Range("V:AB").Select
ActiveWindow.Zoom = True
End Sub
JLuc,
Ajouté ou modifié le 13/11/2005 (N°1706)
Selectionner une donnée sur deux
J'ai une colonne contenant des valeurs, et j'aimerais, sur une autre, faire apparaitre 1 valeur sur 2 de la 1ère colonne.
En B1 et recopie vers le bas :

=DECALER($A$1;(LIGNE()-1)*2;)
Alain Vallon,
Ajouté ou modifié le 09/07/2005 (N°1651)
Selectionner la dernière cellule de la plage
Comment sélectionner la cellule qui se trouve à l'intersection de la dernière ligne et de la dernière colonne utilisée ?
[A1].SpecialCells(xlCellTypeLastCell).Select

et si tu veux sélectionner la plage qui va de A1 à cette dernière cellule :

Range("A1:" & [A1].SpecialCells(xlCellTypeLastCell).Address).Select
ChrisV,
Ajouté ou modifié le 25/06/2005 (N°1636)
Limiter la plage accessible à l'utilisateur
Comment faire pour que les utilisateurs de mon classeurs ne puissent voir et se déplacer que dans une zone déterminée ?
c'est possible avec VBA, en utilisant la propriété ScrollArea.
Cette propriété n'est pas sauvée avec le fichier, il faut donc la mettre dans le module
ThsWorkbook, dans une macro workbook_open :

Private Sub Workbook_Open()
ThisWorkbook.Sheets("Feuil1").ScrollArea = "a1:f100"
End Sub
Denis P.,
Ajouté ou modifié le 05/03/2005 (N°1585)
Supprimer la première ligne de la zone en cours
J'ai des données dans la plage A1:Xn, X et n étant variables. Cette plage est entourée de cellules vides. Je voudrais sélectionner en VBA la plage A2:Xn. Autrement dit, je voudrais enlever la première ligne de la zone en cours définie depuis A1.
Cette formule fonctionne, que toutes les cellules de la plage à tester soient remplies
ou Si seules quelques cellules de la plage sont renseignées. Par exemple, si seules
les cellules A1, B6 et C3 sont remplies. cette formule renverra la plage A2:C10:

Range("A2", Cells(Cells.Find("*", , , , xlByRows, xlPrevious).Row,
Cells.Find("*", , , , xlByColumns, xlPrevious).Column)).Select


Si toutes les cellules sont renseignées dans la plage :

With Range("A1").CurrentRegion
Intersect(.Offset(1), .Cells).Select
End With
Alain vallon, Daniel Maher,
Ajouté ou modifié le 20/05/2004 (N°1421)
Sélection d'un tableau variable
Comment sélectionner et nommer un tableau à nombre variable de lignes ?
Tu peux créer une plage nommée dont l'étendue serait déterminée par une
formule à l'aide de la fonction décaler

Définir une plage de cellules
=DECALER(Feuil1!$B$1;0;0;NBVAL(Feuil1!$B:$B);1)
Laurent Longre, (N°1282)
Sélectionner des feuilles sans en connaître le nom
Comment faire pour selectionner un nbre X de feuilles sans connaitre d'avance le nom des feuilles avec la fonction array ?.
Voici comment sélectionner les 3 premières feuilles du classeur sans en connaître le nom :

Sheets(Array(Sheets(1).Name, Sheets(2).Name, Sheets(3).Name)).Select
Hervé, (N°1281)
Selectionner la colonne active et sa voisine
Je voudrais sélectionner des lignes répondant à un critère donné pour les copier en bloc sur une autre feuille...
En partant du principe que tout ça se passe dans la Feuille
"Feuil1", que le nombre de lignes à examiner soit 20 et que le
critère soit "MonCritère" à vérifier dans la cellule "A" de
chaque ligne (à remplacer par tes valeurs donc) :

Sub JeSelectionne()
i = 1
NombreLignes = 20
While i < NombreLignes + 1
If Cells(i, 1) = MonCritere Then
MesLignes = MesLignes & i & ":" & i & ","
End If
i = i + 1
Wend

MesLignes = Left(MesLignes, Len(MesLignes) - 1)

Sheets("Feuil1").Range(MesLignes).Select

End Sub

Attention tout de même aux limites du nombre de lignes
distinctes admises dans la sélection multiple (255 ?)
Catherine et Sainte Zaza, (N°1280)
Sélection discontinue de plages de cellules
Je voudrais sélectionner toutes les plages de cellules de ma feuille.
On navigue dans la zone utile (UsedRange).
Si la cellule n'est pas vide et que le currentRegion correspondant n'a pas encore été ajouté,
on l'ajoute à la zone des cellules non vides. Ca donne :

Sub chercheNonVide()
Dim c, celVides, celNonVides As Range
Set celVides = Selection.SpecialCells(xlCellTypeBlanks)
For Each c In ActiveSheet.UsedRange
If Not (IsEmpty(c)) Then
If celNonVides Is Nothing Then
Set celNonVides = c.CurrentRegion
Else
If Intersect(c, celNonVides) Is Nothing Then
Set celNonVides = Union(celNonVides, c.CurrentRegion)
End If
End If
End If
Next c
End Sub
Eric Jeanne, (N°1279)
Sélectionner LES colonnes de la plage active
ActiveCell.EntireColumn.Select me permet de selectionner la colonne de la cellule active... Mais comment selectionner LES colonnes de la plage active ? Même question pour les lignes...
Pour les colonnes :
ActiveCell.CurrentRegion.EntireColumn.Select

Pour les lignes :
ActiveCell.CurrentRegion.EntireRow.Select


Ou : Selection.EntireColumn.Select
Frédéric Sigonneau, Eric Jeanne, (N°1278)
Sélectionner une plage de cellule variable
Comment faire par VBA pour sélectionner la plage de cellules A2:E5 en l'exprimant en fonction de la cellule A1 (qui peut être variable) ?
En suposant que A1 soit la cellule active :
par VBA,
Range(ActiveCell(2, 1), ActiveCell(5, 5)).Select
te sélectionnes A2:E5.

ou encore :
ActiveCell(2).Resize(4, 5).Select
Alain Vallon, Frédéric Sigonneau, (N°1277)
Masquage conditionnel de lignes
Comment faire pour masquer toutes les lignes selon les 3 cas suivants... 1°) Toutes les lignes dont les cellules de la colonne C contiennent "toto" 2°) Toutes les lignes dont les cellules de la colonne C contiennent "toto" ou "riri" 3°) Toutes les lignes dont les cellules de la colonne C contiennent un mot qui commence par 'Tou"
Sub toto()
For Each ligne In ActiveSheet.UsedRange.Rows
r = ligne.Row
cherché = Application.Find("toto", Cells(r, 3))
If Not (IsError(cherché)) Then _
Cells(r, 3).EntireRow.Hidden = True
Next
End Sub

Sub totoriri()
For Each ligne In ActiveSheet.UsedRange.Rows
r = ligne.Row
chercheToto = Application.Find("toto", Cells(r, 3))
chercheRiri = Application.Find("riri", Cells(r, 3))
If Not (IsError(chercheToto)) Or Not _
(IsError(chercheRiri)) Then Cells(r, 3).EntireRow.Hidden = True
Next
End Sub

Sub tou()
For Each ligne In ActiveSheet.UsedRange.Rows
r = ligne.Row
chercheTou = Left(Cells(r, 3), 3)
If chercheTou = "Tou" Then Cells(r, 3).EntireRow.Hidden = True
Next
End Sub

Attention, Toto est différent de toto et de TOTO.


autre solution, tu peux mettre un filtre automatique et dans le filtre
de la colonne"C" choisir personnalisé et différent de :toto
ou différent de :Tou?
Eric Jeanne, isabelle, (N°1276)
selection de lignes multiples
Comment faire par VBA des sélections multiples de ligne ?
Union([A:A], [C:C], [E:E]).Select
Il y a une limitation à une trentaine de plage (32 ou 33)

ou
Range("C:C,D:E,G:H").Select
Alain Vallon, Iznogood, (N°1275)
Intersection entre deux plages nommées
Comment sélectionner les cellules à l'intersection des plages nommées toi et moi ?
la formule = toi moi (avec un espace entre les deux plages nommées) te renvoie l'intersection.
Attention si cette intersection est de deux cellules, tu dois dans l'ordre : sélectionner deux
cellules quelconques vides sur ta feuille, taper = toi moi et valider par ctrl, maj et enter
simultanément.
ChrisV, Flo Cabon, (N°1274)
Selection de cellules dont la ligne est nommée
J'utilise souvent l'opérateur d'intersection. Quand je mets =toto tata, il me donne le chiffre à l'intersection. je voudrais maintenant écrire toto dans A1 et tata dans A2 et faire une formule ailleurs qui irait chercher le contenu de A1 et de A2 donc, j'essaie =a1 a2, pensant que lui va faire =toto tata, mais il essaie de faire l'intersection de A1 et A2, et non pas l'intersection des noms à l'intérieur...
Sans VBA:

=INDIRECT(A1) INDIRECT(A2)

Et par VBA :

Function INTERS(P1 As String, P2 As String) As Range

Application.Volatile
Set INTERS = Intersect(Range(P1), Range(P2))
End Function

Et dans la feuille : =INTERS(A1;A2)
Michel Gaboly, Jacques Chaussard, (N°1273)
Sélection de cellules toutes les 4 colonnes
Comment faire pour sélectionner les cellules de 4 colonnes en 4 colonnes à partir de D8 (donc D8, H8, L8, P8...) ?
with Range("D8:IV8")
for i=0 to (NbreColonne) Step 3
.cells(1,i+1).select
...
TonCode
...
next i
End With
Stanislas RB, (N°1272)