Bonjour le forum,
J'ai un code que j'ai pris en parti sur ce forum qui permet de boucler sur tous les fichiers d'un répertoire et de récupérer une certaine plage de données.
Il y deux choses que je voudrais adapter :
- lors de l'exécution de la procédure, il me propose d'enregistrer chaque fichier (car il ouvre chaque fichier) j'aimerais inclure dans le code que "non" je ne veut pas qu'il enregistre le fichier.
- ensuite j'essaie d'adapter pour qu'il "colle" en valeur afin de pas avoir les formules dans ma plage qui est copiée.
Voici le code :
La focalisation est dans ces lignes :
Si vous avez des réponses je suis preneur.
Merci à tous !
Cookies
J'ai un code que j'ai pris en parti sur ce forum qui permet de boucler sur tous les fichiers d'un répertoire et de récupérer une certaine plage de données.
Il y deux choses que je voudrais adapter :
- lors de l'exécution de la procédure, il me propose d'enregistrer chaque fichier (car il ouvre chaque fichier) j'aimerais inclure dans le code que "non" je ne veut pas qu'il enregistre le fichier.
- ensuite j'essaie d'adapter pour qu'il "colle" en valeur afin de pas avoir les formules dans ma plage qui est copiée.
Voici le code :
Code:
Dim intFile As Integer
Dim strWB As String
Dim strFile As String
Dim lgDerLig As Long
Dim lgDerligB As Long
Application.ScreenUpdating = False
Application.EnableEvents = False
' Nom du classeur actuel
strWB = ThisWorkbook.Name
ActiveWorkbook.Worksheets(1).Activate
lgDerligB = Range("B65536").End(xlUp).Row + 1
' Récupération du premier fichier dans le répertoire
Chemin = "C:\Users\Desktop\test\entrée - Copie - Copie - Copie"
strFile = Dir(Chemin & "\*.xls")
' Boucle du 1er au dernier classeur dans le répertoire
Do While strFile <> ""
' Si le classeur n'est pas le classeur de destination
If strFile <> strWB Then
' Ouvrir le fichier
Workbooks.Open Chemin & "\" & strFile
' Sélectionner le 1er onglet feuille de saisie
ActiveWorkbook.Worksheets(1).Activate
' Copie des données
lgDerLig = Range("B65536").End(xlUp).Row
lgDerligB = Workbooks(strWB).Worksheets("Feuil1").Range("B65536").End(xlUp).Row + 1
Workbooks(strFile).Worksheets("Synthèse").Range("B26:BA" & lgDerLig).Copy Destination:=Workbooks(strWB).Worksheets("Feuil1").Range("B" & lgDerligB)
' Fermeture du classeur
Workbooks(strFile).Close
End If
' Classeur suivant
strFile = Dir
Loop
MsgBox "Le traitement des fichiers est terminé.", vbInformation, "Traitement..."
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
La focalisation est dans ces lignes :
Code:
' Copie des données
lgDerLig = Range("B65536").End(xlUp).Row
lgDerligB = Workbooks(strWB).Worksheets("Feuil1").Range("B65536").End(xlUp).Row + 1
Workbooks(strFile).Worksheets("Synthèse").Range("B26:BA" & lgDerLig).Copy Destination:=Workbooks(strWB).Worksheets("Feuil1").Range("B" & lgDerligB)
' Fermeture du classeur
Workbooks(strFile).Close
End If
Merci à tous !
Cookies
Dernière édition: