Bonjour,
Voici ce que je souhaiterai faire à partir d'une macro ayant pour but l'envoie de mail automatique :
1. Mise à jour du fichiers "Template" n°1 (avec des données provenant de sources extérieures)
2. Exécution de la macro (Switch) contenu dans fichiers "Template" n°1.
3. Enregistrement du fichier "Template" n°1 sous forme xlsx pour supprimer les macros lors de l'envoie du fichier
4. Refaire les étapes 1. 2. 3. pour les 5 fichiers "Template" du dossier
Je suis actuellement bloqué lorsque j'essaye d'ouvrir le 1er fichier "Template" pour lancer la macro Switch
Voila le code que j'ai essayé :
'Tant que j'ai encore des fichiers dans mon dossier on recommence la boucle
While Workbooks(NMFICHIER).Sheets("Adresses").Cells(i, 1) <> ""
'Pour ouvrir mes fichier
fixl = DOSSIERENVOI & "\" & NMFICENVOI & Workbooks(NMFICHIER).Sheets("Adresses").Cells(i, 1) & ".xlsx"
fichier = DOSSIERTEMPLATE & "\" & NMFICENVOI & Workbooks(NMFICHIER).Sheets("Adresses").Cells(i, 1) & ".xlsm"
fiM2FI = DOSSIERM2FI & "\" & NMM2FI & Workbooks(NMFICHIER).Sheets("Adresses").Cells(i, 4) & ".xlsx"
'Utilisation de la variable "fichier" pour stocker le nom du nouveau fichier ouvert. -> objectif : permettre de passer d'un fichier a l'autre avec le While
Workbooks.Open Filename:=fichier
'ActiveWorkbook.RefreshAll
DoEvents
Application.Run (fichier & "!MacroSwitch") 'Fonction qui me renvoie une erreur 1004 me disant "Impossible d’exécuter la macro. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées.
DoEvents
ActiveWorkbook.SaveAs Filename:=fixl, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False, Local:=True
Merci pour votre aide. Si vous avez besoin de plus de précision ou d'explication sur mon problème n’hésitez pas !
Thomas