application.run ne lance pas la macro demandée

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:

Staple1600

XLDnaute Barbatruc
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:

excelman

XLDnaute Occasionnel
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:

Dranreb

XLDnaute Barbatruc
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:

Staple1600

XLDnaute Barbatruc
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:

excelman

XLDnaute Occasionnel
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
 

excelman

XLDnaute Occasionnel
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...
;)
 

Discussions similaires

Statistiques des forums

Discussions
312 691
Messages
2 091 011
Membres
104 725
dernier inscrit
Marvin Foucart