Bonjour,
J'avais déjà fait un topic demandant de l'aide plus tôt,
Mais mes besoins on légèrement changé, je dois effectuer une macro qui à partir d'un fichier, importe des données d'un autre fichier Excel pour le remplir, il créera autant de fichiers que de fournisseur différents, dans le fichier cible.
Voila le fichier cible :

Nom : 1573548744-fichier-cible.png
Affichages : 550
Taille : 76,3 Ko

et le fichier qui importera les données. :

Nom : 1573548749-fichierimport.png
Affichages : 343
Taille : 63,9 Ko

et voici le code de ma macro qui bloque à l'étape de la copie, pour la création de différents fichiers en fonction des différents fournisseur ça marche, donc le balayage des ligne du tableau doit aussi fonctionner c'est vraiment lors de la copie que ça bloque.

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
Sub céation()
Dim docc As String
Dim Source As String
Dim destination As String
NomVariable2 = Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Range("B3").Value
NomVariable = Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Range("B2").Value
NomVariable1 = Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Range("B3").Value
chemin = "C:\Users\A339620\Desktop\Macro plomb"
debut = 11
compt = 2
 
 
For Each Cell In Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Range("B2", "B900000")
    NomVariable1 = Cell.Value
    If NomVariable <> NomVariable1 Then
        docc = chemin & "\Fournisseur" & NomVariable & ".xls"
        ThisWorkbook.SaveAs chemin & "\Fournisseur" & NomVariable & ".xls"
 
 
        Source = "C:\Users\A339620\Desktop\Maccro Excel\Draft_declaration_impact_plomb.xlsm"
        destination = chemin & "\Fournisseur" & NomVariable & ".xls"
 
 
        NomVariable = NomVariable1
        debut = 11
    Else
        ThisWorkbook.SaveAs chemin & "\Fournisseur" & NomVariable & ".xls"
        ThisWorkbook.Sheets("Listes de références").Cell(debut, B).Value = Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Cell(compt, 2).Value
        debut = debut + 1
        compt = compt + 1
 
    End If
Next
 
 
End Sub
Mon code contient surement beaucoup de choses tiré par les cheveux, mais je débute sur le VBA, donc soyez indulgent, et si vous avez une solution, vous me sauvez la vie !!!

Je précise que le problème apparaît à la ligne 29 et lorsque je mets cette ligne de code la copie passe, mais bon ce ne sont pas le données que je veux :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ThisWorkbook.Sheets("Listes de références").Range("B11:F14").Value = Workbooks("Synthese_Plomb.xlsm").Sheets("Potentiels Plomb").Range("B2:E6").Value