Bonjour,
Je poste sur ce forum car j'ai un problème pour finaliser une macro. Je vous explique le problème
J'ai une liste de commande fournisseur, je souhaiterais à travers une macro vba récupérer les numéro de commande et les montants associés et les copié dans un onglet à la ligne correspondante. Il y a souvent plusieurs commande pour un même fournisseur. dans ce cas je voudrais qu'il copie la commande et le montant dans les colonnes d'après (colonne 18+3 pour les numéros de commandes et 20+3 sur les montant associés.
J'ai un problème avec la gestion de mes boucles qui fait que finalement il ne copie rien dans les colonnes suivantes si il y a des commandes qui correspondent au même fournisseur.
Je vous joins la partie du code qui ne fonctionne pas.
Je vous remercie d'avance et vous promets d'être assidu sur ce forum pour vous aider si les membres en ont besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Sheets("TCD").Select For i = 3 To nombre_lignes Sheets("TCD").Select Application.StatusBar = " Traitement de l'opération " & i & "/" & nombre_lignes Numero_CE = Cells(i, 16).Value Numero_CDE = Cells(i, 17).Value Fournisseur = Cells(i, 18).Value Montant_CDE = Cells(i, 19).Value Sheets("base de donnée").Select nombre_lignes_BDD = Range("A65536").End(xlUp).Row For j = 2 To nombre_lignes_BDD If Cells(j, 3).Value = Numero_CE And Cells(j, 6).Value = Fournisseur Then k = 18 l = 20 Do k = k + 3 If IsEmpty(Cells(j, k)) Then Cells(j, k).Value = Numero_CDE End If Loop While IsEmpty(Cells(j, k)) Do l = l + 3 If IsEmpty(Cells(j, l)) Then Cells(j, l).Value = Montant_CDE End If Loop While IsEmpty(Cells(j, l)) End If Next j Next i End Sub
Partager