[VBA] Sélectionner une plage de donnée

Résolu
Bonjour,

Je souhaite sélectionner une plage de donnée sur excel en fonction du contenu.
C'est à dire par exemple de B1 à Bi avec i étant le dernier numéro de cellule avec un contenu différent de 0.

Exemple:
B1 = 12
B2 = 3
B3 = 6
B4 = 0

Je veux donc i=3 pour obtenir Range(B1:Bi) (de B1 à B3).

Merci d'avance.

3 réponses

  1. Contributeur
    Bonjour,
    Comme ça ?
    Sub Test()  
    Dim lig As Long  
        With Sheets("Feuil1")  
            For lig = 1 To .Range("B65536").End(xlUp).Row  
                If .Cells(lig, 2) = 0 Then Exit For  
            Next lig  
            .Range("B1:B" & lig).Select  
        End With  
    End Sub

    A+
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    1. Contributeur
      Bonsoir,

      Sub selectionner()
          Dim lig As Long
          For lig = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
              If Cells(lig, 2) <> 0 Then Exit For
          Next lig
          Range("B1:B" & lig).Select
      End Sub

      eric
      1. Merci beaucoup pour vos réponses si rapide. J'ai essayé la méthode d'Eric et il me semble que c'est ce que je chercher.
        Merci encore :)