VBA : Rassembler plusieurs fichiers Excel

Le
Isa
Bonjour,

Tout d'abord, je vous remercie pour vos conseils pour la création d'une
nouvelle feuille avec copie des données d'une autre feuille, j'ai réussi à
faire ce que je désirais (Jacquouille, merci, j'ai du être touchée par la
grâce divine ;-))).

Maintenant, je dois passer une autre étape qui est la suivante :
Dans un répertoire, j'ai x fichiers Excel, tous avec une feuille nommée
IMPORT.
Je dois créer un nouveau fichier Excel regroupant les données de ces
feuilles IMPORT (Je ne dois prendre que certaines données).
Ma question est essentiellement comment faire pour naviguer d'un fichier à
un autre. Je suppose qu'il y a un type d'objet fichier
D'avance merci de vos réponses.

Isa.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
francois.forcet
Le #5163211
On 18 fév, 10:32, Isa
Bonjour,

Tout d'abord, je vous remercie pour vos conseils pour la création d'une
nouvelle feuille avec copie des données d'une autre feuille, j'ai réus si à
faire ce que je désirais (Jacquouille, merci, j'ai du être touchée p ar la
grâce divine ;-))).

Maintenant, je dois passer une autre étape qui est la suivante :
Dans un répertoire, j'ai x fichiers Excel, tous avec une feuille nommé e
IMPORT.
Je dois créer un nouveau fichier Excel regroupant les données de ces
feuilles IMPORT (Je ne dois prendre que certaines données).
Ma question est essentiellement comment faire pour naviguer d'un fichier à
un autre. Je suppose qu'il y a un type d'objet fichier...
D'avance merci de vos réponses.

Isa.


Salut Isa

Ce code ouvre tous les fichiers Excel d'un répertoire :

With Application.FileSearch
.LookIn = "C:Chemin"
.FileType = msoFileTypeExcelWorkbooks
.Execute
End With
With Application.FileSearch
For I = 1 To .FoundFiles.Count
.Application.Workbooks.Open Filename:="C:Chemin" &
Mid(.FoundFiles(I), Len(.LookIn) + 2)
Next I
End With

Tu pourrais peut être l'adapter à ton besoin

Dis moi !!!!

isabelle
Le #5163011
bonjour Isa,

voici un exemple avec FileSearch,
j'ai supposé qu'il n'y avait qu'un seul onglet par fichier
et que la plage A1:B10 de chaque fichier étaient copier sur le Classeur1, Feuill1

Sub bachfile()
Set fs = Application.FileSearch
With fs
.LookIn = "C:zaza"
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Workbooks.Open Filename:=.FoundFiles(i)
x = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A1:B10").Copy Workbooks("Classeur1").Sheets("Feuil1").Range("A" & x)
ActiveWorkbook.Close SaveChanges:úlse
Next i
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub

isabelle

Bonjour,

Tout d'abord, je vous remercie pour vos conseils pour la création d'une
nouvelle feuille avec copie des données d'une autre feuille, j'ai réussi à
faire ce que je désirais (Jacquouille, merci, j'ai du être touchée par la
grâce divine ;-))).

Maintenant, je dois passer une autre étape qui est la suivante :
Dans un répertoire, j'ai x fichiers Excel, tous avec une feuille nommée
IMPORT.
Je dois créer un nouveau fichier Excel regroupant les données de ces
feuilles IMPORT (Je ne dois prendre que certaines données).
Ma question est essentiellement comment faire pour naviguer d'un fichier à
un autre. Je suppose qu'il y a un type d'objet fichier...
D'avance merci de vos réponses.

Isa.


Isa
Le #5161741
Merci pour vos conseils.
Je coince à un endroit :
Je dois rassembler toutes les données de la feuille nommée IMPORT de tous
les fichiers du répertoire, sauf le fichier global qui va tout rassembler
(c'est le fichier sur lequel je vais exécuter le programme).

Comment puis-je exclure ce fichier, il s'appelle global.xls ?
Merci.

"isabelle" wrote:

bonjour Isa,

voici un exemple avec FileSearch,
j'ai supposé qu'il n'y avait qu'un seul onglet par fichier
et que la plage A1:B10 de chaque fichier étaient copier sur le Classeur1, Feuill1

Sub bachfile()
Set fs = Application.FileSearch
With fs
.LookIn = "C:zaza"
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Workbooks.Open Filename:=.FoundFiles(i)
x = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A1:B10").Copy Workbooks("Classeur1").Sheets("Feuil1").Range("A" & x)
ActiveWorkbook.Close SaveChanges:úlse
Next i
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub

isabelle

Bonjour,

Tout d'abord, je vous remercie pour vos conseils pour la création d'une
nouvelle feuille avec copie des données d'une autre feuille, j'ai réussi à
faire ce que je désirais (Jacquouille, merci, j'ai du être touchée par la
grâce divine ;-))).

Maintenant, je dois passer une autre étape qui est la suivante :
Dans un répertoire, j'ai x fichiers Excel, tous avec une feuille nommée
IMPORT.
Je dois créer un nouveau fichier Excel regroupant les données de ces
feuilles IMPORT (Je ne dois prendre que certaines données).
Ma question est essentiellement comment faire pour naviguer d'un fichier à
un autre. Je suppose qu'il y a un type d'objet fichier...
D'avance merci de vos réponses.

Isa.





isabelle
Le #5161701
bonjour Isa,

voici la modification,

Sub bachfile()
Set fs = Application.FileSearch
With fs
.LookIn = "C:zaza"
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
If .FoundFiles(i) <> "Czazaglobal.xls" Then '<----------Test sur global.xls
Workbooks.Open Filename:=.FoundFiles(i)
x = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A1:B10").Copy Workbooks("Classeur1").Sheets("Feuil1").Range("A" & x)
ActiveWorkbook.Close SaveChanges:úlse
End If
Next i
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub


isabelle

Merci pour vos conseils.
Je coince à un endroit :
Je dois rassembler toutes les données de la feuille nommée IMPORT de tous
les fichiers du répertoire, sauf le fichier global qui va tout rassembler
(c'est le fichier sur lequel je vais exécuter le programme).

Comment puis-je exclure ce fichier, il s'appelle global.xls ?
Merci.

"isabelle" wrote:

bonjour Isa,

voici un exemple avec FileSearch,
j'ai supposé qu'il n'y avait qu'un seul onglet par fichier
et que la plage A1:B10 de chaque fichier étaient copier sur le Classeur1, Feuill1

Sub bachfile()
Set fs = Application.FileSearch
With fs
.LookIn = "C:zaza"
.Filename = "*.xls"
.Execute
For i = 1 To .FoundFiles.Count
' MsgBox .FoundFiles(i)
Workbooks.Open Filename:=.FoundFiles(i)
x = Workbooks("Classeur1.xls").Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A1:B10").Copy Workbooks("Classeur1").Sheets("Feuil1").Range("A" & x)
ActiveWorkbook.Close SaveChanges:úlse
Next i
If .FoundFiles.Count = 0 Then
MsgBox "Aucun fichier n'a été trouvé."
End If
End With
End Sub

isabelle

Bonjour,

Tout d'abord, je vous remercie pour vos conseils pour la création d'une
nouvelle feuille avec copie des données d'une autre feuille, j'ai réussi à
faire ce que je désirais (Jacquouille, merci, j'ai du être touchée par la
grâce divine ;-))).

Maintenant, je dois passer une autre étape qui est la suivante :
Dans un répertoire, j'ai x fichiers Excel, tous avec une feuille nommée
IMPORT.
Je dois créer un nouveau fichier Excel regroupant les données de ces
feuilles IMPORT (Je ne dois prendre que certaines données).
Ma question est essentiellement comment faire pour naviguer d'un fichier à
un autre. Je suppose qu'il y a un type d'objet fichier...
D'avance merci de vos réponses.

Isa.






Publicité
Poster une réponse
Anonyme