Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
OJk4rD6CKHA.3368@TK2MSFTNGP02.phx.gbl...
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" <nomail@nospam.com> a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$426a74cc@news.free.fr...
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
C'est super, ça fonctionne parfaitement, merci beaucoup, beaucoup,
beaucoup de l'avoir écrite en entier.
"MichDenis" a écrit dans le message de news:Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
C'est super, ça fonctionne parfaitement, merci beaucoup, beaucoup,
beaucoup de l'avoir écrite en entier.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
OzxrwI7CKHA.3708@TK2MSFTNGP02.phx.gbl...
Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
OJk4rD6CKHA.3368@TK2MSFTNGP02.phx.gbl...
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" <nomail@nospam.com> a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$426a74cc@news.free.fr...
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,
C'est super, ça fonctionne parfaitement, merci beaucoup, beaucoup,
beaucoup de l'avoir écrite en entier.
"MichDenis" a écrit dans le message de news:Une petite coquille :
cette ligne de code omet le "point" devant l'expression cells
.Range("A1", Cells(ligne, Colonne)).Copy _
Tu devrais lire :
.Range("A1", .Cells(ligne, Colonne)).Copy _
Dans la procédure :
Chemin = "c:UsersDMDocuments"
indique le répertoire où sont tes fichiers
fichier = Dir(Chemin & "Exemple*.xls")
"Exemple" représente le mot avec lequel débute
tous tes fichiers.
"MichDenis" a écrit dans le message de groupe de
discussion :
Bonjour Jy,
Ta macro pourrait ressembler à ceci:
'----------------------------------------------
Sub test()
Dim Chemin As String, F As Workbook, Sh As Worksheet
Dim MaFeuille As Worksheet, DerLig As Long
Dim Colonne As Integer, ligne As Long
'où seront copiées les données dans ce classeur
Set MaFeuille = ThisWorkbook.Worksheets("Feuil2")
Chemin = "c:UsersDMDocuments"
fichier = Dir(Chemin & "Exemple*.xls")
Do While fichier <> ""
Set F = Workbooks.Open(Chemin & fichier)
For Each Sh In F.Worksheets
If UCase(Left(Sh.Name, 2)) = "A-" Then
With MaFeuille
DerLig = .Range("A65536").End(xlUp)(2).Row
End With
With Sh
ligne = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
Colonne = Sh.Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range("A1", Cells(ligne, Colonne)).Copy _
MaFeuille.Range("A" & DerLig)
End With
End If
Next
F.Close False
Loop
End Sub
'----------------------------------------------
"Jy" a écrit dans le message de groupe de discussion
:
4a685a8c$0$22636$
Bonjour,
Je cherche à créer une macro qui rassemble sur une même feuille, les
données provenant de feuilles particulières se trouvant dans d'autres
fichiers excel.
Je maitrise à peu près l'étape 1, mais pas la 2, est ce que quelqu'un
peut
me donner une direction où chercher?
Etape 1 : ouvre tous les fichiers enregistres dans un repertoire et
dont
le nom commence par un mot spécifique.
Etape 2 : pour chaque fichier, ouvre ctoutes les feuilles dont le nom
commencent par un autre mot spécifique (par exemple "A-")
Etape 3 : copie les donnees de chacune de ces feuilles dans un fichier
unique.
Merci pour votre aide,