Ouverture de fichiers excel selon conditions

clem74170 Messages postés 8 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 5 novembre 2009 - 15 oct. 2009 à 09:05
clem74170 Messages postés 8 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 5 novembre 2009 - 19 oct. 2009 à 10:33
Bonjour à tous,

Je suis débutant en VBA, je vais essayer de vous expliquer mon pb le plus simplement possible, si c'est possible.

A partir d'une macro excel,
Je souhaite ouvrir différents fichiers excel, présents dans différents dossiers en fonction du nom de ce dossier.

En gros,

d'un coté j'ai un fichier excel (fichier référence), dans un dossier particulier, comprenant les références des dossiers à ouvrir,
Emplacement : F:\Compta\Tresorerie...
nom du fichier Affairesencours.xls
Référence à prendre comme condition d'ouverture des dossier ci dessous : colonne a

et je souhaite ouvrir tous les fichiers excel, présents dans les dossiers en question, à partir du moment ou le titre de ces dossiers sont présents dans le fichier référence.
Emplacement du dossier : F:\Compta\Tresorerie...
Dans ce dossier il y a des sous dossiers à ouvrir (si ils sont mentionnés ds le fichier Affairesencours..xls



Merci d'avance

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 oct. 2009 à 11:41
Salut
Tu nous dis ce que tu as à faire, mais tu ne nous dis pas où tu bloques.

"Référence à prendre comme condition d'ouverture des dossier ci dessous : colonne a"
Ca, ce n'est pas une condition, mais une cellule. Qu'y a t-il dedans ?

Exemple de listage des cellules d'une range ici : <le lien>

Ouvrir un classeur : Si tu sais ouvrir un classeur à la main (ce que j'espère), il te suffit d'enregistrer une macro pendant que tu le fais à la main : Tu n'as plus qu'à regarder le code généré dans la macro et à le rendre paramétrable.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
clem74170 Messages postés 8 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 5 novembre 2009
15 oct. 2009 à 16:58
Dans la colonne a, il y a des nombres (ex 19473, 19555...)
Le but est de lancer une macro permettant d'ouvrir des fichiers excels nommés (19473, 19555...)
Le problème est que dans le dossier où se trouvent ces fichiers excels, il y en a plein d'autres qu'il ne faut pas ouvrir.

Parce qu'en ce qui concerne l'ouverture de fichier en macro no pb
mais là, il faut aller chercher les noms des dossiers à ouvrir et ouvrir les fichiers excel présents ds ces dossiers, en fonction des nombres de la colonne a
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 oct. 2009 à 16:35
Et ...
Tu as tous ce qu'il te faut, il te suffit de mixer le tout :

Ouverture d'un fichier excel (issu d'un enregistrement par macro) :
    ChDir "C:"
    Workbooks.Open Filename:="C:\Classeur1.xls"

Lecture du contenu de la cellule A4, par exemple :
    Dim sNomFichier As String
    sNomFichier = Cells(4, 1).Value

Mélange des deux :
    Dim sNomFichier As String
    sNomFichier = Cells(4, 1).Value
    ChDir "C:"
    Workbooks.Open Filename:="C:" & sNomFichier & ".xls"

Si ton répertoire de stockage n'est pas la racine C:\, il te suffira d'ajouter son nom dans la fonction Open.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
clem74170 Messages postés 8 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 5 novembre 2009
19 oct. 2009 à 10:33
Merci Jack, c'est exactement ce que j'avais besoin.

J'ai autre pb lié à cette ligne de ma macro :

While ActiveCell <> ""
Selection.End(xlToLeft).Select

Dim sNomFichier As String
sNomFichier = Cells(11, 1).Value

Workbooks.Open Filename:="F:\AffairesenCommandes\Suivi_eco\France" & sNomFichier & "" & sNomFichier & ".xls"

Sheets("FICH_FLX").Select

Lors de l'éxécution, je reçois ce mess d'erreur : Erreur d'éxécution 9 l'indice n'appartient pas à la sélection.
Ce mess apparait au niveau de la dernière ligne de ma macro ci dessus

Merci pour votre aide

Clem
0
Rejoignez-nous