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

Macro Ouvrir classeur excel

  • Initiateur de la discussion Initiateur de la discussion poipoi59
  • 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 !

P

poipoi59

Guest
Bonjour,

Je souhaite créer une macro permettant d'ouvrir un fichier excel dont la fin du nom est égale à la valeur d'une cellule de mon classeur actif

En espérant être clair,

Merci de votre aide
 
Re : Macro Ouvrir classeur excel

Merci Pierrot,

Dans ton exemple, je ne vois pas où tu place le chemin du fichier à chercher, j'ai essayé cela :

Option Explicit
Sub testo()
Dim r As String, f As String
ThisWorkbook.Path = "c:chemin"

r = ThisWorkbook.Path & "\"
f = Dir(r & "*" & Range("A2").Value & ".xls")
Do While f <> ""
If MsgBox(f, vbYesNo) = vbYes Then Workbooks.Open r & f
f = Dir
Loop
End Sub

et cela me renvoie : erreur de compilation impossible d'affecter à une propriété en lecture seule et il me surligne le .Path

Option Explicit
Sub testo()
Dim r As String, f As String
ThisWorkbook.Path = "c:chemin"

r = ThisWorkbook.Path & "\"
f = Dir(r & "*" & Range("A2").Value & ".xls")
Do While f <> ""
If MsgBox(f, vbYesNo) = vbYes Then Workbooks.Open r & f
f = Dir
Loop
End Sub



Merci
 
Re : Macro Ouvrir classeur excel

Re,

le chemin est déterminé ainsi :
Code:
r = ThisWorkbook.Path & "\"
c'est le même chemin que celui du classeur dans lequel est exécuté le code, il doit bien évidement être enregistrer sur le DD
 
Re : Macro Ouvrir classeur excel

Je ne pense que je n'avais pas compris la notion de code qui, j'ai bien compris maintenant impose que je fasse des modifs dans le classeur que je souhaite ouvrir,

c'est bien cela ???

Si c'est bien ça, alors cette méthode ne peut répondre à mon souhait car ce n'est pas moi qui crée le fichier que je veux chercher et il n'y pas de macro

Auriez-vous une autre solution ?

Merci
 
Re : Macro Ouvrir classeur excel

c'est ici que je ne comprends plus :

"c'est le même chemin que celui du classeur dans lequel est exécuté le code, il doit bien évidement être enregistrer sur le DD "

mon fichier à partir duquel je recherche l'autre sont dans des dossiers différents

Comment le chemin est-il défini ?

ou alors j'ai rien compris à ce qu'est un code ?

Désolé, quasi novice en vba, ça se voit ????
 
Re : Macro Ouvrir classeur excel

Re,

il faut modifier ceci :
Code:
r = ThisWorkbook.Path & "\"

en indiquant le bon chemin du dossier dans lequel tu veux rechercher ton fichier...
Code:
r = "C:\MesDocs\Excel\Fichiers\"
 
Re : Macro Ouvrir classeur excel

Merci Beaucoup Pierrot,



ça marche, j'ai appliqué ta dernière consigne puis ai galéré car en fait j'avais fait une erreur de syntaxe et avait omis de mettre le "\" en fin de nom de dossier.

Encore merci beaucoup à toi et merci le forum que je sollicite peu mais à chaque fois, les réponses sont rapides et efficaces.

Bonne fin de journée à tous
 
Re : Macro Ouvrir classeur excel

Bonjour à tous,

Est-il possible d'adapter la macro ci-dessous pour que la recherche se fasse dans des fichiers aléatoires ?
Je m'explique. Mes stats sortent dans des sous dossiers en fonction de la date.
Ex : C:\stats\jours\01_01_13\stats_01_01_13.xls
C:\stats\jours\02_01_13\stats_02_01_13.xls.
etc...

Si je copie manuellement mes fichiers .xls dans le fichier \jours, j'arrive à aller les rechercher automatiquement, mais je n'arrive pas à écrire ma macro pour aller les rechercher dans les sous dossiers qui se créent tous les jours (je ne peux pas agir sur ce point)

Ma Macro :

Dim wbks As Workbook, nom$
nom = "C:\stats\jours\" & Feuil2.Range("L3").Value & ".xls"
If Dir(nom, vbDirectory) = "" Then MsgBox "Le nom de fichier est erroné ou n'existe pas.": Jour.Show
Set wbks = Workbooks.Open(nom)
wbks.ActiveSheet.Cells.Copy Windows("Stats_tel.xlsm").ActiveSheet.Cells
wbks.Close 0

End Sub

La date à rechercher est celle reprise dans la cellule Feuil2.Range("L3"). Celle-ci est complétée grâce au formulaire.

Merci d'avance pour votre aide.
 
- 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
7
Affichages
342
Réponses
3
Affichages
253
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
310
Réponses
2
Affichages
187
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…