Boucle ouverture fichier VBA excel [Résolu/Fermé]

Signaler
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
-
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
-
Bonjour,

Je travail actuellement sur une macro capable d'ouvrir des fichiers numérotés par mois, nommé suivant le schéma ci contre : XX - nom. XX étant le mois variant de 01 à 12 (logique ;-) ) et nom étant le nom de mon fichier, ce nom est invariant sur l'ensemble des fichiers.

Je cherche donc à réaliser une boucle me permettant d'ouvrir l'ensemble de ces fichiers; Attention si je lance ma macro en juin, il n'y aura que 6 fichiers dans mon dossier.

Merci beaucoup pour votre aide.


7 réponses

Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
je viens de trouver un code comptant le nombre de fichiers de mon répertoire. Le voici :

Sub test()
Dim Rep As String
Dim n As Integer

Rep = Dir("C:\Chemin\Dossier\*.xls")
While Rep <> ""
n = n + 1
Rep = Dir()
Wend
MsgBox "Nombre de Fichiers : " & n
End Sub

Je vais essayer d'insérer ce résultat dans une cellule
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
Il n'est pas utile de compter le nombre de fichiers.
Si, dans un dossier (répertoire), vous n'avez que les fichiers à ouvrir, il suffit de boucler sur tous les fichiers du répertoire :
For Each Fichiers In répertoire
Ok?
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
Oui très bonne idée, pouvez vous m'indiquer une syntaxe ?
merci
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
Voici le code


Sub ouverture_générale()
Dim Rep As String
Dim n As Integer
Rep = Dir("C:\Chemin\*.xls")
While Rep <> ""
n = n + 1
Rep = Dir()
Wend
MsgBox "Nombre de Fichiers : " & n
For i = 1 To n
Range("A" & i).Value = i
Workbooks.Open "C:\Chemin\" & i & " Nomfichier.xls"
Next
End Sub
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
Maintenant que tu y es parvenu, merci de placer ton code dans une réponse. cela peux effectivement resservir à quelqu'un d'autre.
Merci pour eux.
Messages postés
16491
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
21 juillet 2021
3 199
bonjour,

quel est le suffixe de tes fichiers (xls, xslx, xslm, doc, ppt....) ?
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
Bonjour,
Tu dis : En juin, il n'y aura que 6 fichiers dans mon dossier en juillet 7, en septembre 9 etc...
Ben il suffit de boucler sur tous les fichiers du-dit répertoire...
Tu dis : Je travail actuellement sur une macro quel est ton code? Qu'as tu déjà écris? Qu'elles sont tes pistes? sources?
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
Mes fichiers sont des fichiers excel donc *.xls

Je souhaiterai compter les fichiers de mon répertoire pour ensuite lancer une boucle avec un compteur allant de 1 à Nombre_de_fichiers pour ouvrir les fichiers de mon dossier.

Je n'ai malheureusement pas les connaissances suffisantes en VBA pour coder moi même cette macro.

Merci
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
Il me reste "juste" à créer ma boucle pour l'ouverture des fichiers :-)
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
Saurais tu comment concaténer 2 chaine de caractère de la sorte ?

"chaine de caractère 1" variable "chaine de caractère 2"
Messages postés
12251
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2021
2 626
euh oui!
"String1" & var & "String2"
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
merci
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
J'ai un message d'erreur, Excel ne s'attend pas à la 2eme chaine
Messages postés
44
Date d'inscription
jeudi 22 septembre 2011
Statut
Membre
Dernière intervention
12 décembre 2011
9
c'est bon, merci bcp