Bonjour,
Ton problème est surement très complexe. Je n'arrive même
pas à comprendre ta question!
A ) Comme ç'est toi, il me semble qu'avec un petit effort, le nom des
variables pourrait être plus parlant.
B ) Chemin du répertoire où sont les fichiers
Chemin = c:ExcelMesFichier
NoMois = 5 'à déterminer
Répertoire = NoMois NoMois pour numéro du
répertoire du mois
CheminComplet = Chemin & Répertoire & ""
C ) Différentes fin de fichiers...un nom de fichier a l'air de quoi ? Un
exemple aurait été bien venu.
Les 2 fins de fichiers dans un tableaul
FinFichier = Array("JA_","SN_")
D ) Adresse de la plage à récupérer : D60:K65
Adr = "D60:K65"
E ) les données à récupérer sont dans quelle
feuille des classeurs ? Nom de la feuille
NomFeuille = "toto"
F ) Tu veux copier les données récupérer OÙ ? Dans
quelle feuille ? Nom de cette feuille ?
Veux-tu récupérer seulement les données ou les
données + le format de cellules des fichiers sources ?
FeuilleDest = "Feuil1"
La macro pourrait ressembler à ceci :
'------------------------------------------------
For each Elt In FinFichier
NomFichier = "*" & Elt & ".xls*"
Fichier = dir(CheminComplet & NomFichier)
Do While Fichier <>""
Set Wk = Workbooks.open(chemincomplet & fichier)
With Wk.Worksheets(NomFeuille)
DerLig =
ThisWorkbook.worksheets(FeuilleDest).Range("A65536").end(xlup).row)
+1
.Range(Adr).copy ThisWorkbook.worksheets(FeuilleDest).range("A" &
DerLig)
End With
Wk.Close
Fichier = Dir()
Loop
'------------------------------------------------
MichD
------------------------------------------
"stormtroopertk1230" a écrit dans le message de groupe de
discussion :
Bonjour,
J'aurai besoin de votre aide car je voudrai recopier une zone de données
de
fichier range(D60:K65) sachant que je voudrai que l'ouverture des fichiers et
la
sélection de la zone se fasse automatiquement.
Voiçi ce que j'ai pour commencer :
Le mois1 correspond au n° du répertoire du mois.
Le mois2 correspond au n° du mois du fichier.
Le i doit être variant car il se rapporte à des terminaisons de
fichier
Dim Mois1$, Mois2$, pFld$, f$
i = JA_
i1 = SN_
Mois1 = Worksheets("Menu").Range("C10").Activate
Mois2 = Worksheets("Menu").Range("C11").Activate
pFld = "Chemin" & Mois1
f = Dir(pFld)
Do Until f = ""
If f Like "Feuille_" & i & Mois2 ".xlsm" Then
Workbooks.Open pFld & f
End If
f = Dir()
Next i
Loop
End Sub
Bonjour,
Ton problème est surement très complexe. Je n'arrive même
pas à comprendre ta question!
A ) Comme ç'est toi, il me semble qu'avec un petit effort, le nom des
variables pourrait être plus parlant.
B ) Chemin du répertoire où sont les fichiers
Chemin = c:ExcelMesFichier
NoMois = 5 'à déterminer
Répertoire = NoMois NoMois pour numéro du
répertoire du mois
CheminComplet = Chemin & Répertoire & ""
C ) Différentes fin de fichiers...un nom de fichier a l'air de quoi ? Un
exemple aurait été bien venu.
Les 2 fins de fichiers dans un tableaul
FinFichier = Array("JA_","SN_")
D ) Adresse de la plage à récupérer : D60:K65
Adr = "D60:K65"
E ) les données à récupérer sont dans quelle
feuille des classeurs ? Nom de la feuille
NomFeuille = "toto"
F ) Tu veux copier les données récupérer OÙ ? Dans
quelle feuille ? Nom de cette feuille ?
Veux-tu récupérer seulement les données ou les
données + le format de cellules des fichiers sources ?
FeuilleDest = "Feuil1"
La macro pourrait ressembler à ceci :
'------------------------------------------------
For each Elt In FinFichier
NomFichier = "*" & Elt & ".xls*"
Fichier = dir(CheminComplet & NomFichier)
Do While Fichier <>""
Set Wk = Workbooks.open(chemincomplet & fichier)
With Wk.Worksheets(NomFeuille)
DerLig =
ThisWorkbook.worksheets(FeuilleDest).Range("A65536").end(xlup).row)
+1
.Range(Adr).copy ThisWorkbook.worksheets(FeuilleDest).range("A" &
DerLig)
End With
Wk.Close
Fichier = Dir()
Loop
'------------------------------------------------
MichD
------------------------------------------
"stormtroopertk1230" a écrit dans le message de groupe de
discussion :
Bonjour,
J'aurai besoin de votre aide car je voudrai recopier une zone de données
de
fichier range(D60:K65) sachant que je voudrai que l'ouverture des fichiers et
la
sélection de la zone se fasse automatiquement.
Voiçi ce que j'ai pour commencer :
Le mois1 correspond au n° du répertoire du mois.
Le mois2 correspond au n° du mois du fichier.
Le i doit être variant car il se rapporte à des terminaisons de
fichier
Dim Mois1$, Mois2$, pFld$, f$
i = JA_
i1 = SN_
Mois1 = Worksheets("Menu").Range("C10").Activate
Mois2 = Worksheets("Menu").Range("C11").Activate
pFld = "Chemin" & Mois1
f = Dir(pFld)
Do Until f = ""
If f Like "Feuille_" & i & Mois2 ".xlsm" Then
Workbooks.Open pFld & f
End If
f = Dir()
Next i
Loop
End Sub
Bonjour,
Ton problème est surement très complexe. Je n'arrive même
pas à comprendre ta question!
A ) Comme ç'est toi, il me semble qu'avec un petit effort, le nom des
variables pourrait être plus parlant.
B ) Chemin du répertoire où sont les fichiers
Chemin = c:ExcelMesFichier
NoMois = 5 'à déterminer
Répertoire = NoMois NoMois pour numéro du
répertoire du mois
CheminComplet = Chemin & Répertoire & ""
C ) Différentes fin de fichiers...un nom de fichier a l'air de quoi ? Un
exemple aurait été bien venu.
Les 2 fins de fichiers dans un tableaul
FinFichier = Array("JA_","SN_")
D ) Adresse de la plage à récupérer : D60:K65
Adr = "D60:K65"
E ) les données à récupérer sont dans quelle
feuille des classeurs ? Nom de la feuille
NomFeuille = "toto"
F ) Tu veux copier les données récupérer OÙ ? Dans
quelle feuille ? Nom de cette feuille ?
Veux-tu récupérer seulement les données ou les
données + le format de cellules des fichiers sources ?
FeuilleDest = "Feuil1"
La macro pourrait ressembler à ceci :
'------------------------------------------------
For each Elt In FinFichier
NomFichier = "*" & Elt & ".xls*"
Fichier = dir(CheminComplet & NomFichier)
Do While Fichier <>""
Set Wk = Workbooks.open(chemincomplet & fichier)
With Wk.Worksheets(NomFeuille)
DerLig =
ThisWorkbook.worksheets(FeuilleDest).Range("A65536").end(xlup).row)
+1
.Range(Adr).copy ThisWorkbook.worksheets(FeuilleDest).range("A" &
DerLig)
End With
Wk.Close
Fichier = Dir()
Loop
'------------------------------------------------
MichD
------------------------------------------
"stormtroopertk1230" a écrit dans le message de groupe de
discussion :
Bonjour,
J'aurai besoin de votre aide car je voudrai recopier une zone de données
de
fichier range(D60:K65) sachant que je voudrai que l'ouverture des fichiers et
la
sélection de la zone se fasse automatiquement.
Voiçi ce que j'ai pour commencer :
Le mois1 correspond au n° du répertoire du mois.
Le mois2 correspond au n° du mois du fichier.
Le i doit être variant car il se rapporte à des terminaisons de
fichier
Dim Mois1$, Mois2$, pFld$, f$
i = JA_
i1 = SN_
Mois1 = Worksheets("Menu").Range("C10").Activate
Mois2 = Worksheets("Menu").Range("C11").Activate
pFld = "Chemin" & Mois1
f = Dir(pFld)
Do Until f = ""
If f Like "Feuille_" & i & Mois2 ".xlsm" Then
Workbooks.Open pFld & f
End If
f = Dir()
Next i
Loop
End Sub