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

Résolu/Fermé
Hyquest Messages postés 13 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 12 février 2015 - 6 mai 2012 à 00:02
Hyquest Messages postés 13 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 12 février 2015 - 6 mai 2012 à 00:18
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

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 6/05/2012 à 00:09
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.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
6 mai 2012 à 00:09
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
0
Hyquest Messages postés 13 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 12 février 2015
6 mai 2012 à 00:18
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 :)
0