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 :
et le fichier qui importera les données. :
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.
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 !!!
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
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
Partager