Oui, il faut que tu parcoures chaque ligne pour chaque colonne et vérifier si ta condition est vraie. En fin de colonne (c'est à dire à la première cellule vide de cette colonne, tu sors de la boucle et tu en recommences une autre au début de la colonne suivante.
Ce qui donne en vba :
Sub test()
Dim Ligne As Integer
Dim colonne As Integer
'1ère boucle : Parcourir chaque colonne de 2 en 2
For colonne = 2 To 60 Step 2 'colonne=2 : position de la 1ere colonne à tester, on s'arrête à la colonne 60
'2e boucle : parcourir chaque ligne jusqu'à ce qu'une cellule vide soit trouvée
Ligne = 1 'Initialisation de la première ligne à lire
Do 'Début de la boucle
If IsEmpty(Cells(Ligne, colonne)) Then Exit Do 'On sort de la 2nde boucle si la cellule est vide
If Cells(Ligne, colonne) = "o" Then Cells(Ligne, colonne - 1) = "o" 'Si la valeur de la cellule est la chaine de caractère o, la copier sur la cellule à gauche
Ligne = Ligne + 1 'On passe à la ligne suivante
Loop 'Fin de 2nde la boucle
Next colonne 'Fin de la 1ere boucle, on passe à la colonne suivante jusqu'à la colonne 60
End Sub |
Connais-tu la touche F8 dans l'éditeur vba ? Clique quelque part sur une ligne de cette macro et appuis sur la touche F8 : cela va te permettre de regarder ligne par ligne ce que fait la macro et comprendre comment ça fonctionne
En mettant le curseur sur une variable (par exemple colonne), sans cliquer dessus, tu pourras voir la valeur que prend cette variable à chaque opération.
Bon courage
Message édité par otobox le 10-03-2011 à 22:41:01
---------------
OtObOxBlOg - - - Etre seul à avoir tort c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons