Executer un macro dans plusieurs colonnes

bonjour

j'ai une macro qui s'execute bien

je voudrais que la macro se décale de 4 colonnes tant que : Do While Cells(ligne1, col + 2) <> "23"

je ne sais pas comment appliquer les 2 répétitions (loop) ensemble

Si joint une partie du fichier

merci de votre d'aide par avance

Philippe 87

Dim ligne As String

Dim ligne1 As String

Dim col As String

ligne = 7

ligne1 = 5

col = 2

Do While Cells(ligne, 3) <> "15"

If Cells(ligne, 3) = "1" Then

With Cells(ligne, col + 3)

.Formula = "=VLOOKUP(R3C[-1],'feuille inventaire'!R3C1:r100c4,4,FALSE)"

.Value = .Value

End With

Cells(ligne, col + 5) = Cells(ligne, col + 2) + Cells(ligne, col + 3) - Cells(ligne, col + 4)

Else

If Cells(ligne, 3) > "1" Then

Cells(ligne, col + 3) = Cells(ligne - 1, col + 5)

Cells(ligne, col + 5) = Cells(ligne, col + 2) + Cells(ligne, col + 3) - Cells(ligne, col + 4)

End If

End If

ligne = ligne + 1

Loop

End Sub

Salut,

Je trouve que ta solution par une boucle DoWhile Loop complique passablement les choses dans ce cas. On pourrait bien entendu essayer de trouver une solution en passant par l’instruction ‘GoTo Etiquette’ après Loop et en plaçant une Etiquette: avant DoWhile pour recommencer (EDIT) les mêmes opérations plusieurs fois, mais ça risque d’être terriblement compliqué à donner les bonnes valeurs aux variables.

Je te propose alors plutôt de passer par deux boucles ‘For Next’ imbriquées, comme dans le fichier ci-joint. Mon code visite toutes les cellules des colonnes D, H, L et P et effectue une action différentes selon qu’il y a un 1 ou un autre chiffre dans la cellule de la colonne C correspondante. Pour l’instant – par rapport à ton code – seule la valeur que tu recherchais par la fonction RECHERCHEV est aussi recherchée, pour le reste j’ai mis un code bidon.

Si ça te convient ainsi, on peut voir ensemble pour la suite, à moins que tu t’en sortes maintenant tout seul.

A te relire.

bonsoir Yvouille,

je te remercie de ta réponse , mais là je suis un peut largué.

si j'avais que 21 lignes et les 4 références je pense que ta solution me suffirait amplement,

dans le fichier joint j'ai mis une infime partie, car je géré 50 références qui peuvent évoluer au fil du temps et 8 avril doit être à la ligne 230 .

Au lieu de déclarer ma ligne un N= dans ce cas qui 7 , je la déclare par rapport ma cellule active du jour présent. exemple le 14 avril ça sera la ligne du 14 avril qui fera référence pour ma boucle.

Pour mieux comprendre si tu le souhaites je peux te faire parvenir le fichier lundi prochain pour regarder un peut et me dire ce que tu en penses.

cordialement

Philippe 87

Re,

philippe87 a écrit :

Pour mieux comprendre si tu le souhaites je peux te faire parvenir le fichier

Je crois qu'il n'y a pas le choix, parce que là, c'est la bouteille d'encre

A lundi

Bonsoir Vouillé

Je te remercie pour ton aide, j'ai la solution à mon problème

cordialement

Philippe

Rechercher des sujets similaires à "executer macro colonnes"