[VBA] Boucle récup valeur

Résolu
digsaw_- Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   -  
digsaw_- Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Membre Dernière intervention   58
 
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Membre Dernière intervention   58
 
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Membre Dernière intervention   58
 
Super merci !
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
As tu pris la peine de comprendre le code ou juste fais un copié/collé?
0