dj-spirit
XLDnaute Nouveau
Bonjour à toutes et tous,
Ma problématique est la suivante :
Tous les jours je dépose x fichiers dans un dossier qui reprends des stats du 1er jours du mois à hier.
Ensuite dans chacun de ces fichiers je reprends les données de 2 colonnes (onglet machin) et je viens les coller dans l'onglet concerné de mon fichier "Réalisé" .
Dans le fichier de base de mes imports il n'y a pas de notion de date sauf dans l'en tête du fichiers , les jours sont numérote en 1 -2 -3 -4 -5 -6 -etc .
Mon fichier d’import là je l'ai appelé" import donnée 1"
Mon fichier de réalisé est appelé Réalisé.
Le but est que tous les matins une fois que nous avons déposé les fichiers ils viennent complètement automatiquement les cellules vides dans chacun des onglets par rapport au nom des fichiers enregistré et que le lundi cela reprennent les données non importés du week-end.
En fouillant avant de vous ecrire j'ai trouvé cela :
Merci par avance.
Cdlt
Ma problématique est la suivante :
Tous les jours je dépose x fichiers dans un dossier qui reprends des stats du 1er jours du mois à hier.
Ensuite dans chacun de ces fichiers je reprends les données de 2 colonnes (onglet machin) et je viens les coller dans l'onglet concerné de mon fichier "Réalisé" .
Dans le fichier de base de mes imports il n'y a pas de notion de date sauf dans l'en tête du fichiers , les jours sont numérote en 1 -2 -3 -4 -5 -6 -etc .
Mon fichier d’import là je l'ai appelé" import donnée 1"
Mon fichier de réalisé est appelé Réalisé.
Le but est que tous les matins une fois que nous avons déposé les fichiers ils viennent complètement automatiquement les cellules vides dans chacun des onglets par rapport au nom des fichiers enregistré et que le lundi cela reprennent les données non importés du week-end.
En fouillant avant de vous ecrire j'ai trouvé cela :
Code:
Option Explicit
Sub Importfiles()
Dim WbDest As Workbook, WbSource As Workbook
Dim WksNewSheet As Worksheet
Dim NomFichier As String, Chemin As String
Dim I As Long
Set WbDest = ActiveWorkbook
Chemin = "C:\PFT\Import\"
NomFichier = Dir(Chemin & "*.xls") 'définit les fichiers à importer en l’occurence tous les fichiers excel se trouvant dans ce répertoire
Do While NomFichier <> "" 'démarre la boucle jusqu’au dernier fichier disponible dans le répertoire
Set WbSource = Workbooks.Open(Chemin & NomFichier) 'ouvre le fichier actuel à importer
Set WksNewSheet = WbSource.Sheets("Feuil1") 'sélectionne la feuille de données à importer
WksNewSheet.Activate 'active cette feuille
WksNewSheet.Select
Range(Cells(1, 1), Cells(24, 24)).Select 'selection des données que l’on veut importer
Selection.Copy 'copie les données sélectionnées
WbDest.Activate 'retourne vers le fichier de départ
I = ActiveSheet.UsedRange.Rows.Count 'compte le nombre de lignes déjà utilisées dans ce fichier
Cells(I + 1, 1).Select 'sélection de la cellule où on veut coller les données (la première vide)
ActiveSheet.Paste 'colle les données
WbSource.Close 'ferme le fichier source
NomFichier = Dir 'va vers le fichier suivant à importer
Loop 'recommece la boucle avec le fichier suivant
WbDest.Activate
End Sub
Merci par avance.
Cdlt
Pièces jointes
Dernière édition: