[VBA] Boucle récup valeur

Résolu/Fermé
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 - 24 juin 2011 à 10:40
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 - 27 juin 2011 à 10:43
Bonjour,

Voila maintenant je revien pour une boucle qui parcour une colonne ( la colonne C de la feuill1) et qui récupére toutes les valeurs de cette colonne (sachant qu'on ne connait pas exactement le nombre de ligne..) et qui les écris dans la colonne C de la feuill2.

Merci d'avance



2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
24 juin 2011 à 10:56
Bonjour,
Dim Lig As Long, DrLig As Long
With Sheets("Feuil1")
    DrLig = .Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row
    For Lig = 2 to DrLig
        If .Cells(Lig, 3).Value <> "" Then
            Sheets("Feuil3").Cells(Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row + 1, 3).Value = .Cells(Lig, 3).Value
        End If
    Next Lig
End With

ça te va?
0
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 57
24 juin 2011 à 10:59
Sa me va parfaitement ! Merci beaucoup pour ton aide ! Et ta rapidité !

Si j'ai besoin je peux te MP ? car je suis une vrai quiche en VBA.. Merci encore
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
24 juin 2011 à 11:07
Pour les MP, tu peux bien sur, mais c'est tellement plus sympa de faire partager à tous...
0
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 57
24 juin 2011 à 12:11
Okok tu as raison !

Alors voici ... ^^

C'est la même chose que tout à l'heure.. sauf que lorsque la boucle parcour la colonne 7 de la feuille 1 et qu'il trouve un x il faut que sa écrive dans la colonne 8 de la feuille 2 un : 1 et lorsque il ne trouve rien il écrit un 4.. si 5 cases vides sont trouvées d'affilées la boucle se termine c'est que c'est la fin de la colonne..
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
24 juin 2011 à 12:40
1- si 5 cases vides sont trouvées d'affilées la boucle se termine c'est que c'est la fin de la colonne.. Ben non. La fin de la colonne c'est la ligne de la dernière cellule non vide... En VBA : Columns(N°decolonne).Find("*", , , , xlByColumns, xlPrevious).Row
2- il s'agit juste d'un test If blabla then...
Donc :
Dim Lig As Long, DrLig As Long
With Sheets("Feuil1")
    DrLig = .Columns(7).Find("*", , , , xlByColumns, xlPrevious).Row
    For Lig = 2 to DrLig
        If UCase(.Cells(Lig, 7).Value) = "X" Then 'ici on compare en forçant les majuscules pour éviter les problèmes de saisie et casse...
            Sheets("Feuil2").Cells(Lig, 8).Value = 1
        ElseIf .Cells(Lig, 7).Value = "" Then
            Sheets("Feuil2").Cells(Lig, 8).Value = 4
        End If
    Next Lig
End With
0
digsaw_- Messages postés 489 Date d'inscription lundi 14 septembre 2009 Statut Membre Dernière intervention 24 septembre 2013 57
24 juin 2011 à 14:40
Super merci !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
24 juin 2011 à 14:51
As tu pris la peine de comprendre le code ou juste fais un copié/collé?
0