application.run ne lance pas la macro demandée

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 !

excelman

XLDnaute Occasionnel
Bonjour à tous et à toutes,

J'ai une petite macro que je lance à partir d'un classeur facture.
Jusqu'à la ligne Application.Run wklivre.Name & "!creationrepertoire"
tout va bien il me lance bien la macro creationrepertoire mais
sur les lignes suivante les classeurs sont bien activés mais les macros
ne se lancent pas. Et la je ne comprends pas ou je peux faire une erreur

Le classeur facture est dans le répertoire c:\
les trois autres classeurs sont dans le repertoire c:\phonéo\novembre 2012
J'ai vérifié le nom des macros à lance qui sont toutes déclarées dans un module du
classeur en public sub.

Pourriez vous me donner un coup de main ?
Merci d'avance
Thierry

Code:
Sub macrodistante()
Dim wklivre As Workbook
Dim wkcaisse As Workbook
Dim wkaccess As Workbook
Dim strpath As String

Set wklivre = Workbooks("phoneo" & Format(DateSerial(Year(Date), _
Month(Date), 1), "mmyyyy") & ".xls")
Set wkcaisse = Workbooks("CAISSE" & Format(DateSerial(Year(Date), _
Month(Date), 1), " MM YYYY") & " BOUYGUES" & ".xls")
Set wkaccess = Workbooks("accessoires" & Format(DateSerial(Year(Date), _
Month(Date), 1), " MM YYYY") & ".xls")

strpath = ThisWorkbook.Path & "\phoneo\" & Format(DateSerial(Year(Date), _
Month(Date), 1), "MMMM YYYY") & "\"
strname = "phoneo" & Format(DateSerial(Year(Date), Month(Date), 1), "mmyyyy") & ".xls"

On Error Resume Next

Workbooks(strname).Sheets(Day(Date)).Activate
If Err <> 0 Then
    Workbooks.Open Filename:=fichier
    If Err <> 0 Then
        MsgBox "Le fichier " & fichier & "est introuvable"
    End If
End If

wklivre.Activate
Application.Run wklivre.Name & "!creationrepertoire"

wkcaisse.Activate
Application.Run wkcaisse.Name & "!cloture_caisse"

wkaccess.Activate
Application.Run wkcaisse.Name & "!cloture_access"
 
Dernière édition:
Re : application.run ne lance pas la macro demandée

Re


Pour reprendre l'exemple que je t'ai donné dans ton autre fil
Dans bob.xls
Code:
Sub noactiv()
Dim wkBOB As Workbook, wkBOBY As Workbook
Set wkBOB = ThisWorkbook
Set wkBOBY = Workbooks("boby.xls")
Application.Run wkBOBY.Name & "!testboby"
End Sub

Avec la macro testboby dans boby.xls
Code:
Sub testboby()
MsgBox ThisWorkbook.Name
End Sub
PS: Code testé = fonctionnel avant soumission ici
 
Dernière édition:
Re : application.run ne lance pas la macro demandée

Bon ben finalement j'ai trouvé une solution.

En fait quand je regarde avec Alt F8 je vois que la macro est écrite entre apostrophes. Pourquoi? je ne sais pas.
Alors du coup j'ai rajouté des apostrophes de la manière suivante :

Code:
wkcaisse.Activate
Application.Run "'" & wkcaisse.Name & "'" & "!cloture_caisse"
et ça marche.

Ben en tous cas merci de vous etre penché sur mon problème.

Bonne nuitée
 
Dernière édition:
Re : application.run ne lance pas la macro demandée

Bonsoir.
Essayez:
VB:
Application.Run "'" & wkcaisse.Name & "'!cloture_caisse"
Ça vient des espaces dans les noms des fichiers.
Cordialement.

Bonsoir Staple.
 
Dernière édition:
Re : application.run ne lance pas la macro demandée

Re, Bonsoir Dranreb


excelman:
Tu peux aussi éviter de mettre des espaces dans le nom de tes fichiers 😉

EDITION: Je pouvais pas savoir pour les espace (lol)
Enfin si, sauf que ton code fait mal aux yeux parce que tu n’utilises pas les balises dédiées
[NOPARSE]
Code:
[/NOPARSE][/B]
[COLOR=#0000cd][SIZE=2]Texte de la macro[/SIZE][/COLOR]
[B][NOPARSE]
[/NOPARSE]

Tu peux aussi, si tu veux de la couleur dans ton code, utiliser celles-ci:
[NOPARSE]
VB:
[/NOPARSE][/B]
[COLOR=#0000cd][SIZE=2]Texte de la macro[/SIZE][/COLOR]
[B][NOPARSE]
[/NOPARSE]
 
Dernière édition:
Re : application.run ne lance pas la macro demandée

Re bonsoir à vous deux.

Si Si JM j'ai vu ton post mais il ne parle pas des guillemets!!
sinon j'ai appliqué la méthode que tu m'as donné qui m'a tout de même bien facilité les choses
par rapport à ma macro de départ.

Merci beaucoup
Merci aussi à dranreb.

Cordialemeent
 
Re : application.run ne lance pas la macro demandée

Re, Bonsoir Dranreb


excelman:
Tu peux aussi éviter de mettre des espaces dans le nom de tes fichiers 😉

EDITION: Je pouvais pas savoir pour les espace (lol)
Enfin si, sauf que ton code fait mal aux yeux parce que tu n’utilises pas les balises dédiées
[NOPARSE]
Code:
[/NOPARSE][/B]
[COLOR=#0000cd][SIZE=2]Texte de la macro[/SIZE][/COLOR]
[B][NOPARSE]
[/NOPARSE]

Tu peux aussi, si tu veux de la couleur dans ton code, utiliser celles-ci:
[NOPARSE]
VB:
[/NOPARSE][/B]
[COLOR=#0000cd][SIZE=2]Texte de la macro[/SIZE][/COLOR]
[B][NOPARSE]
[/NOPARSE]

VB:
Ok JM je prends note....;)
Merci pour l'info et j'essaye de supprimer les espaces de mes fichiers...
Cordialement et merci à Dranreb pour l'info sur les espaces...
😉
 
- 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

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
3
Affichages
1 K
Retour