Sélection de plusieurs cellules avec boucle for

Bonjour,

Je débute en VBA, et ma question est probablement très basique :

J'ai un tableau avec 2 colonnes de 100 000 valeurs chacune. Je souhaite que lorsqu'une cellule de la colonne A dépasse la valeur 2, elle soit sélectionnée, ainsi que la cellule de la colonne B associée. Pour l'instant j'ai fait cela :

Sub cocher()
For i = 2 To 100000
If Cells(i, 1) < 2 Then
Rows(i).Select
End If
Next
End Sub

Mais seule la dernière ligne correspondant à ce critère reste sélectionnée, je ne sais pas comment faire pour avoir une sélection multiple.

De plus, dans un second temps je voudrais faire la même chose pour quand 2<A<4, mais je ne sais pas comment indiquer un intervalle dans la ligne if ?

En espérant que vous pourrez m'aider,

Merci d'avance

Bonjour galdlan, le forum,

Je souhaite que lorsqu'une cellule de la colonne A dépasse la valeur 2, elle soit sélectionnée, ainsi que la cellule de la colonne B associée

Sub Bouton1_Cliquer()
  Dim Cel As Range, pl As Range

  Application.ScreenUpdating = False

    For Each Cel In Range("A2:A100000")
        If Cel.Value > 2 Then
            If pl Is Nothing Then Set pl = Range(Cel, Cel.Offset(0, 1)) Else Set pl = Union(pl, Range(Cel, Cel.Offset(0, 1)))
        End If
    Next Cel
    pl.Select
End Sub
25test-selection.xlsm (17.28 Ko)

Pourquoi vouloir tout sélectionner ? Dans quel but ?

je voudrais faire la même chose pour quand 2 < A < 4

If Cel.Value > 2 And Cel.Value < 4 Then

Cordialement,

Bonjour à tous,

Une solution qui me semble fonctionner :

Sub cocher()
Dim i%
Application.ScreenUpdating = False
For i = 2 To 10000
    If Cells(i, 1) > 2 And Cells(i, 1) < 4 Then Application.Union(SELECTION, Rows(i)).Select
Next
Application.ScreenUpdating = True
End Sub

Cdlt,

Bonjour, 100000 ligne çà va être long au lancement de la macro.

Une variante qui changera la couleur des lignes en jaune si valeur comprise en 2 et 4

Mais bon 100000 lignes autant utiliser un filtre auto.

Sub cocher()
Dim l%, c%, Dl%, Dc%
Dl = Cells(Rows.Count, 1).End(xlUp).Row
Dc = Cells(1, Columns.Count).End(xlToLeft).Column
Cells.Interior.ColorIndex = 0

For i = 2 To Dl
If Cells(i, 1) > 2 And Cells(i, 1) < 4 Then
Range(Cells(i, 1), Cells(i, Dc)).Interior.ColorIndex = 36
Rows(i).Select
End If
Next
End Sub
Rechercher des sujets similaires à "selection boucle"