Executer une macro sur une suite de lignes

Résolu
abdou65 -  
ABDOUWYDADI65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

j'ai une macro qui marche mais le hic c'est qu'il faut la répeter autant de fois qu'il y a de factures j'aimerais un moyen de le faire en une seule fois

voici la macro:

Sub mode()

Dim j As Integer
j = 0
For i = 2 To 2000
If Cells(ActiveCell.Row, 2).Value = Worksheets("BASE reglt").Cells(i, 1) Then
j = j + 1
Cells(ActiveCell.Row, 9 + (j - 1) * 5) = Worksheets("BASE reglt").Cells(i, 6).Value
End If
Next i
End Sub
 


merci pour tout

A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

Il faudra que tu donnes plus d'explications.

0
ABDOUWYDADI65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 

bjr

avant tout je voudrais te remercier pour ton intéret.

dans une feuille excel je colles les numéro de factures d'un mois donné ensuite à l'aide de la macro que j'ai décrit en haut je récupère les mode de paiements de la dite facture sur la meme ligne. jusqu'à la tout est bon mais aprés il faut exécuter la macro pour chaque ligne qui suit donc imagine s'il y a 500 ou plus de factures le travail qu'il faut. dons l'idée serait d'executer la macro en une seule fois pour toutes les factures du mois. 

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Ceci va travailler sur chaque ligne, jusqu'à rencontrer une cellule vide:

Sub mode()

Dim j As Integer, i As Integer, cl As Range
Set cl = ActiveCell
Do While cl <> ""
    j = 0
    For i = 2 To 2000
        If Cells(cl.Row, 2).Value = Worksheets("BASE reglt").Cells(i, 1) Then
            j = j + 1
            Cells(cl.Row, 9 + (j - 1) * 5) = Worksheets("BASE reglt").Cells(i, 6).Value
        End If
    Next i
    Set cl = cl.Offset(1)
Loop
End Sub
0
ABDOUWYDADI65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 

merci bcp

c'est juste parfait.

à charge de revanche

0