Bonjour à tous,

J'aurais besoin d'aide sur des boucles dans VBA. J'ai plusieurs boucles imbriquées l'une dans l'autre, mais jamais je ne rentre dans toutes les boucles. Cela fait plusieurs jours que je tourne en rond, c'est le cas de le dire, alors je fais appel à vos lumières.

Je vous mets en PJ mon code, et je vous explique ce que je veux faire.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
'Dans le fichier Summary C of C, sélectionner les libellés et les copier
 
'Sélectionner le fichier Summary C of C correspondant
 
msg = MsgBox("Veuillez ouvrir le fichier Sanmina Summary C of C ", vbYesNo)
chemin = Application.GetOpenFilename
    If chemin <> "Faux" Then
        Application.ScreenUpdating = False
 
Application.DisplayAlerts = False
 
Workbooks.Open Filename:=chemin
Libelles = ActiveWorkbook.Name 'fichier Sanmina C of C
 
Sheets(1).Select
derligne_libelles = Sheets(1).Range("A2").CurrentRegion.Rows.Count
derligne_libelles = derligne_libelles + 1
 
 
ligLib = 2 'on positionne le pointeur des libellés dans Summary C of C au début
For j = ligLib To derligne_libelles
 
'on cherche le n°de PO
    Workbooks(Sanmina).Activate
    derligne = Sheets(1).Range("F10").End(xlDown).Row
    derligne = derligne + 1
    i = derligne
    For ligAWB = 10 To derligne
        If Workbooks(Libelles).Sheets(1).Cells(ligLib, "D").Value <> Workbooks(Sanmina).Sheets(1).Cells(ligAWB, "F") Then
        'on n'a pas trouvé le n° de PO, on passe à la ligne suivante
            GoTo ligLibsuivante
        End If
    Next 'on teste la ligne suivante
 
    'Le n° de PO correspond,on cherche le libellé correspondant
        Workbooks(Libelles).Sheets(1).Activate
        Range("H" & j).Copy
        Workbooks(Sanmina).Sheets(1).Activate
        Range("C" & ligAWB).Select
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
 
    'on a traité la ligne, on passe à la suivante
    GoTo ligLibsuivante
 
ligLibsuivante:
    ligLib = ligLibsuivante + 1
 
Next
 
' Enregistrement du fichier avec n° HAWB
 
    ActiveSheet.Name = Range("L10").Value
    AWB = Range("L10")
    Workbooks(fichiermacro).Sheets("Enregistrement").Activate
    Adresse_enregistrement = Range("A1")
    ChDir "" & Adresse_enregistrement & ""
    Workbooks(Sanmina).SaveAs Filename:="" & Adresse_enregistrement & "" & AWB & ".xls"
 
    End If
End Sub
Sachant qu'il y a en amont déjà un bout de macro qui fait de la mise en forme.
En gros, j'ai on fichier qui contient la macro. Cette macro a 2 buts : faire de la mise en forme sur un fichier envoyé par un de nos fournisseurs pour qu'on puisse l'intégrer dans nos propres fichiers (ça, ça fonctionne très bien) et ensuite, à l'aide d'un second fichier envoyé par le fournisseur, faire l'appairage entre le code article (qui est dans le premier fichier, déjà mis en forme) et son libellé (dans un second fichier).

J'ai donc déjà le fichier mis en forme ouvert, et j'appelle le second fichier, pour faire ma recherche de libellé.
Le problème c'est que la boucle tourne, mais ne trouve jamais de correspondance. Je ne sais pas si je suis super claire... La partie qui beugue selon moi est à partir de "on cherche le n° de PO".

Merci de votre aide, n'hésitez pas si ce n'est pas clair.

Mandou