Ouvrir des fichiers qui ont le nom des feuilles

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

G

Guy

Guest
Bonjour,


Bon dimanche à tous,

Félicitation pour cet excellent forum


Je sollicite coup de main pour une macro :


J'ai un fichier Excel qui possède plusieurs feuilles.

Ce fichier Excel est généré chaque jour par une macro qui crée une 1ere feuille nommée 'Export' et toutes les autres feuilles correspondants à des noms de fichier. doc avec lesquels il faut faire des publipostages.

Je souhaite donc avoir une macro pour ouvrir tous les fichiers.doc (correspondant à toutes les feuille du classeurs, sauf celle nommée ' Export '.

Bien sur tous les fichier.doc sont dans le même répertoire.


Merci d'avance

Guy
 
bonjour Guy

tu peux tester cette macro
la procedure boucle sur tous les onglets du classeur et ouvre les fichiers .doc portant le meme nom (sauf 'Export' ) .les documents Word doivent etre dans le meme repertoire que le classeur

Code:
Sub ouvertureConditionnelle()
Dim i As Byte
Dim Fs As Object

Set Fs = CreateObject('Scripting.FileSystemObject')

For i = 1 To Sheets.Count
    If Sheets(i).Name <> 'Export' Then
    'verifie si le fichier à ouvrir (.doc) existe
    'dans cet exemple le classeur Excel et les .Doc sont dans le meme répertoire
    If Fs.FileExists(ThisWorkbook.Path & '\\' & Sheets(i).Name & '.doc') = True Then _
    ThisWorkbook.FollowHyperlink ThisWorkbook.Path & '\\' & Sheets(i).Name & '.doc', , True
    End If
Next i

End Sub


bonne soiree
MichelXld
 
Bonjour,

Je me demandais si l'excellent code de Michel pouvait être adapté car mes fichiers .doc sont dans un autre répertoire que le fichier qui contient la macro.

En fait ma macro est dans un .xla qui est lancé depuis un icône de la barre menu d'Excel.

Donc le répertoire de la macro complémentaire n'est pas le même que les fichiers .doc

J’ai bien essayé d’adapter le code de Michel mais sans succès.

Cordialement

Guy
 
Bonsoir Michel, Guy, le Forum

Encore vite fait une mini contribution, avant de filer.

Guy, Essaies comme ceci :

Option Explicit

Const ThePath As String = 'I://MC_PROD//Stats//Reported_Assets//Daily//'

Sub OuvertureConditionnelle()
Dim i As Byte
Dim Fs As Object



Set Fs = CreateObject('Scripting.FileSystemObject')

For i = 1 To Sheets.Count
&nbsp; &nbsp;
If Sheets(i).Name <> 'Export' Then
&nbsp; &nbsp;
'verifie si le fichier à ouvrir (.doc) existe
&nbsp; &nbsp;
'dans cet exemple le classeur Excel et les .Doc sont dans le meme répertoire
&nbsp; &nbsp;
If Fs.FileExists(ThePath & Sheets(i).Name & '.doc') = True Then _
&nbsp; &nbsp; ThisWorkbook.FollowHyperlink ThePath & Sheets(i).Name & '.doc', ,
True
&nbsp; &nbsp;
End If
Next i

End Sub


NB les 'Anti-Slash' ne passants pas sur ce Forum, tu remplaces les '//' dans la Constante (adaptée à ton chemin de répertoire)

Bonne Soirée
@+Thierry
 
Bonjour,


Cette macro fonctionne très bien seule mais si je l’exécute en second, après une autre macro, elle bloque et il y a le message :

Erreur d’exécution ' 9 '

L’indice n’appartient pas à la sélection


Merci d’avance pour le coup de main

Guy
 
- 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

Retour