Bonjour,
Je suis entrain de faire plusieurs macros dans un programme de traitement de données. Je voudrais maintenant afin d'éviter un copier/coller depuis plusieurs fichiers sources vers un fichier destination faire une macro. J'ai déjà commencé, mais je rencontre deux problèmes :
1. Je suis obligé à chaque fois de cliquer sur "Oui" pour garder les valeurs copiées, puisque je ferme le 1er fichier source
2. Lorsque j'ai défini la 1ère cellule vide de mon fichier de destination, je n'arrive pas à reprendre la valeur de la variable pour me positionner au bon endroit avant de coller
J'ai cherché sur le Net, il y a plusieurs solutions...mais j'y arrive pas!
Merci de votre aide.
Voici mon code
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 Sub TraiteFichiers() 'Application.ScreenUpdating = False Dim Chemin As String, File As String Dim DerniereLigneFichierACopier As String Dim DerniereCelluleColonneARecap As String Dim wb2 As Workbook 'FileRecap = "Programme_Cyto_Intégration.xlsm" Chemin = "C:\Temp\VBA" File = Dir(Chemin & "\*.xls*") C = 1 Do While File <> "" Cells(C, 1) = File File = Dir() Workbooks.Open Filename:=Chemin & "\" & File DerniereLigneFichierACopier = Range("A1").SpecialCells(xlCellTypeLastCell).Row Range("A1:C" & DerniereLigneFichierACopier).Copy 'je copie les données du fichier qui vient d'être ouvert Set wb2 = ActiveWorkbook wb2.Close 'je ferme le fichier qui vient d'être ouvert 'Ici 1er problème je dois cliquer sur "Oui" pour garder les valeurs dans le clipboard Windows("Programme_Cyto_Intégration.xlsm").Activate 'j'active le fichier dans lequel je veux coller les valeurs Sheets("CollageCato").Select 'je sélectionne l'onglet où je veux coller les valeurs DerniereCelluleColonneARecap = Range("A" & Rows.Count).End(xlUp).Row + 1 'je définis la 1ère cellule vide de la colonne A 'Ici 2ème problème je n'arrive pas à me positionner sur la valeur de la variable "DerniereCelluleColonneARecap" ActiveSheet.Paste C = C + 1 'je continue avec le prochain fichier Loop End Sub
Partager