Boucle ouverture fichier
nus
Messages postés
16
Statut
Membre
-
nus Messages postés 16 Statut Membre -
nus Messages postés 16 Statut Membre -
Bonjour à tous,
j'utilise le code suivant que j'ai trouvé pour ouvrir plusieurs fichiers qui se trouvent dans un même dossier. A termes, il y aura 30 fichiers dans ce dossier. J'ai un pb avec ma boucle car elle m'ouvre bien les fichiers que j'ai pour l'instant (3 sur les 30) mais une fois quelle a ouvert les 3 fichiers et refermés, elle recommence. Le but est de récupérer des relevés de mesures de pièces d'une colonne et de les coller dans une colonne d'un autre fichier (cette partie fonctionne). C'est le fait de stopper après avoir ouvert tous les fichiers!!
Programmation sous Excel 2007, VBA, windows XP.
Voici le code (j'ai supprimé la partie de copier/coller d'un fichier à l'autre. La variable a, me permet de me décaller de 5 colonnes pour coller les infos du fichier suivant...
Sub ouvrir_fichiers()
AffecterVariables2
Application.ScreenUpdating = False
Dim fichier As String, chemin As String
Dim Wb As Workbook
For a = 12 To 157
chemin = "C:\Documents and Settings\k004418\Bureau\UGV VIPER\Suivi MMT\fichier xls\"
fichier = Dir(chemin & "*.xls")
Do While fichier <> ""
Set Wb = Workbooks.Open(chemin & fichier)
--> c'est à ce moment qu'il fait le copier/coller d'un fichier à l'autre
Windows(fichier).Activate
'fermer le fichier Excel sans sauvegarder
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
a = a + 5
Set Wb = Nothing
fichier = Dir
Application.ScreenUpdating = True
Loop
Next
End Sub
Sub AffecterVariables2()
LeFichier = ThisWorkbook.Name
End Sub
Merci pour votre aide.
j'utilise le code suivant que j'ai trouvé pour ouvrir plusieurs fichiers qui se trouvent dans un même dossier. A termes, il y aura 30 fichiers dans ce dossier. J'ai un pb avec ma boucle car elle m'ouvre bien les fichiers que j'ai pour l'instant (3 sur les 30) mais une fois quelle a ouvert les 3 fichiers et refermés, elle recommence. Le but est de récupérer des relevés de mesures de pièces d'une colonne et de les coller dans une colonne d'un autre fichier (cette partie fonctionne). C'est le fait de stopper après avoir ouvert tous les fichiers!!
Programmation sous Excel 2007, VBA, windows XP.
Voici le code (j'ai supprimé la partie de copier/coller d'un fichier à l'autre. La variable a, me permet de me décaller de 5 colonnes pour coller les infos du fichier suivant...
Sub ouvrir_fichiers()
AffecterVariables2
Application.ScreenUpdating = False
Dim fichier As String, chemin As String
Dim Wb As Workbook
For a = 12 To 157
chemin = "C:\Documents and Settings\k004418\Bureau\UGV VIPER\Suivi MMT\fichier xls\"
fichier = Dir(chemin & "*.xls")
Do While fichier <> ""
Set Wb = Workbooks.Open(chemin & fichier)
--> c'est à ce moment qu'il fait le copier/coller d'un fichier à l'autre
Windows(fichier).Activate
'fermer le fichier Excel sans sauvegarder
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
a = a + 5
Set Wb = Nothing
fichier = Dir
Application.ScreenUpdating = True
Loop
Next
End Sub
Sub AffecterVariables2()
LeFichier = ThisWorkbook.Name
End Sub
Merci pour votre aide.
A voir également:
- Boucle ouverture fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
Bonjour,
c'est normal qu'il te les parcourt plusieurs fois, vu que ton a va de 12 à 157 et est incrémenté de 5 en 5. Du coup, tant que ton a est inférieur à 157, il teste pour ouvrir des fichiers.
Si tu teste sur 3 classeurs, tu devrais peut être réduire ton For a=12 To 157.
Cordialement.
c'est normal qu'il te les parcourt plusieurs fois, vu que ton a va de 12 à 157 et est incrémenté de 5 en 5. Du coup, tant que ton a est inférieur à 157, il teste pour ouvrir des fichiers.
Si tu teste sur 3 classeurs, tu devrais peut être réduire ton For a=12 To 157.
Cordialement.
du coup ce serait à cause de ça !!
ok, ben comme j'ai que 3 fichiers, je vais en créer 27 vu que au final il doit ouvrir 30 fichiers c pour ça que mon "a" va jusqu'à 157, c'est la dernière colonne où il colle les infos.
je vais tenter
merci chossette !!^^
ok, ben comme j'ai que 3 fichiers, je vais en créer 27 vu que au final il doit ouvrir 30 fichiers c pour ça que mon "a" va jusqu'à 157, c'est la dernière colonne où il colle les infos.
je vais tenter
merci chossette !!^^
bonjour
j'ai une nouvelle question en fait
les fichiers que je récup arrive au fur et à mesure du coup j'ai quand même un beug car la macro marche super mais avec 30 fichiers, limite que je lui est fixé (a=12 to 157).
est-ce que je peux rajouter une condition du genre If... ??
car sinon je dois faire des copier/coller à la main...
d'avance merci
j'ai une nouvelle question en fait
les fichiers que je récup arrive au fur et à mesure du coup j'ai quand même un beug car la macro marche super mais avec 30 fichiers, limite que je lui est fixé (a=12 to 157).
est-ce que je peux rajouter une condition du genre If... ??
car sinon je dois faire des copier/coller à la main...
d'avance merci
Pour que ça marche correctement, il faudrait que tu puisses compter le nombre de fichiers présents dans ton dossier.
En cherchant un peu sur le net, j'ai trouvé ceci.
A adapter selon ce que tu souhaites faire, mais c'est une piste.
Cordialement.
En cherchant un peu sur le net, j'ai trouvé ceci.
A adapter selon ce que tu souhaites faire, mais c'est une piste.
Cordialement.