Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA: ouvrir classeurs dans différents dossiers

  • Initiateur de la discussion Initiateur de la discussion mamatt59
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mamatt59

Guest
Bonjour,

je cherche sous VBA à ouvrir des classeurs un par un en fonction de leur nom. (pour y copier des valeurs)
Ce nom est composé d'une partie fixe et d'une date.
Ces fichiers sont classés dans des dossiers ayant également une partie fixe et une date.

Le but de la manoeuvre est d'ouvrir le bon classeur lorsqu'on sélectionne une date dans le premier classeur.

Pourriez-vous me donner un petit coup de pouce?

Merci

Mat.
 
Re : VBA: ouvrir classeurs dans différents dossiers

Salut,

merci pour le lien mais j'ai du mal a appliquer ce qui est dit à mon cas.

En fait, il s'agit pour moi d'afficher la liste des sous répertoires présents dans un répertoire, puis de sélectionner un des ses sous répertoires en fonction de son nom.

Ensuite, il me faudra appliquer une autre macro qui ouvrira chaque classeur de se répertoire et copiera une plage de données de ces classeurs dans un autre classeur.

Je ne sais pas si tu vois ce que je veux faire...
Peux-tu me venir en aide?
 
Re : VBA: ouvrir classeurs dans différents dossiers

merci bcp!
ca me facilite grandement la tâche.
Mais, si tu le veux bien, j'ai encore besoin de tes conseils avisés...

En fait, je voudrais en cliquant sur un des fichiers de cette liste, copier une plage de ce fichier vers un autre classeur (répertoire différent).
Cette plage correspond à un mois déterminé ds le second classeur.

le message serait alors:"actualiser reporting?"


Encore merci pour ton aide.

Mat.
 
Re : VBA: ouvrir classeurs dans différents dossiers

RE

Le plus simple (et utile) serait de joindre à ton message un fichier exemple
(zippé <50Ko) sans données confidentielles.


Cela nous faciliterait la tache
 
Re : VBA: ouvrir classeurs dans différents dossiers

Alors si je t'envoies des fichiers d'exemple, il faut que je t'explique tout:

Dans un fichier comportant des feuilles pour 18 pays, le but est, pour chaque pays d'actualiser les chiffres par copie/collage des données contenues dans les fichiers exemplePays.xls, en fonction du mois et de l'année sélectionnée dans le fichier de destination.

Chacun des fichiers pays se trouve dans des dossiers différents selon leurs mois et année (mai 07; juin 07;...)

le but est de sélectionner le bon dossier correspondant à la bonne date grace à la macro que tu m'as donnée. (si possible en limitant le choix à ces seuls dossiers), de les lister comme elle le fait déjà.

La seconde étape serait d'ouvrir tous les fichiers et de copier les cellules correspondant au bon mois dans chaque feuille pays du classeur exemple.

j'espère que tu me comprends...

Merci de ton aide.

Mat.
 

Pièces jointes

Re : VBA: ouvrir classeurs dans différents dossiers

Re


A titre informatif (pour lister des fichiers, des dossiers)
Code:
Sub ListFiles()
'[URL="http://support.microsoft.com/default.aspx?scid=kb;en-us;74493"]source du code[/URL]
Dim Chemim As String
Chemin = "C:\Temp\"
Extension = "*.*"
Application.ScreenUpdating = False
Cells(1, 1).Activate
    F = Dir(Chemin & Extension)
        Do While Len(F) > 0
            ActiveCell.Formula = F
            ActiveCell.Offset(1, 0).Select
        F = Dir()
    Loop
Application.ScreenUpdating = False
End Sub
            
Sub test()
'Dans l'aide VBA, j'aurai regarder dedans dès le départ
' Affiche les noms dans C:\ représentant des dossiers.
MyPath = "c:\"    ' Définit le chemin d'accès.
MyName = Dir(MyPath, vbDirectory)    ' Extrait la première entrée.
Cells(1, 1).Activate
Do While MyName <> ""    ' Commence la boucle.
    ' Ignore le dossier courant et le dossier
    ' contenant le dossier courant.
    If MyName <> "." And MyName <> ".." Then
        ' Utilise une comparaison au niveau du bit pour
        ' vérifier que MyName est un dossier.
        If (GetAttr(MyPath & MyName) _
            And vbDirectory) = vbDirectory Then
            'Debug.Print MyName    ' Affiche l'entrée uniquement si elle
            ActiveCell.Formula = MyName
            ActiveCell.Offset(1, 0).Select
        End If    ' représente un dossier.
    End If
    MyName = Dir    ' Extrait l'entrée suivante.
Loop

End Sub
 
Dernière édition:
Re : VBA: ouvrir classeurs dans différents dossiers

Re



Si j'ai bien compris

Ci-dessous ce sont les noms des dossiers?

Directories
Paid entries/ Advertisements '1er dossier ?
Book sales
National
Foreign

Electronically Held Data
Paid entries/ Advertisements
Internet
National CD ROMS
Data sales
Internet(subscriptions, credit units, direct marketing)
CD ROMS
Other media

Miscellaneous ' dernier dossier?
Direct marketing (not Internet)
Data sharing fees
Other revenues 'dernier sous-dossier ?
 
Re : VBA: ouvrir classeurs dans différents dossiers

Bonjour,

En fait ce que je veux faire c'est:

-Ouvrir une fenêtre dans laquelle on trouvera le contenu d'un dossier (son chemin est fixe)
-Ce dossier contient d'autres dossiers, l'utilisateur devra choisir le dossier qui lui convient, celui-ci contenant une quinzaine de fichiers.xls
-lorsqu'il l'aura sélectionné, le but est alors de lister ces fichiers.
-enfin, lorsque l'on cliquera sur un des fichiers de la liste, une colonne fixe de ce fichier devra etre copiée et collée dans le classeur actif.

Voila, j'espère que mon exposé est compréhensible (cette fois...) et que tu pourras me venir en aide.

Merci,

Mat.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
402
Réponses
9
Affichages
884
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…