Ouvrir à distance la macro d'un classeur dont le nom change

excelman

XLDnaute Occasionnel
Bonjour à tous et à toutes.

Je suis en train d'automatiser une action qui habituellement se fait pas à pas. Je voudrais lancer cette action à partir d'un autre classeur. Ma macro est la suivante :

Sub testmacrodistante()
Dim strname As String
strname = "bob" & Format(DateSerial(Year(Date), Month(Date), 1), "mmyyyy") & ".xls"
Workbooks("strname").Activate
application.run "'strname'! creationrepertoire
End Sub

Quand je lance la macro il y a : " erreur d'execution 9 : cette indice n'appartient pas à la selection" sur la ligne 4
La macro testmacrodistante est sur le fichier principale et la macro creationrepertoire est sur le classeur dont le nom change
en fonction de la date.

Merci de bien vouloir m'apporter vos lumières.

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Ouvrir à distance la macro d'un classeur dont le nom change

Bonjour


Test OK chez moi (pré-requis deux classeurs non enregistrés Classeur1 et Classeur2 dans la même instance Excel)
Code:
Sub Macro1DansClasseur1()
Dim CDistant As Workbook
Set CDistant = Workbooks("Classeur2")
Application.Run CDistant.Name & "!test"
End Sub

Dans Classeur2
Code:
Sub test()
Msgbox "a"
End Sub

En lançant dans Classeur1, la macro Macro1DansClasseur1, la macro test du classeur2 est exécutée et un a s'affiche dans une Msgbox ;)

Il te reste plus qu'à adapter à ton fichier exemple joint dans ta discussion...:rolleyes:
 

excelman

XLDnaute Occasionnel
Re : Ouvrir à distance la macro d'un classeur dont le nom change

re....

Merci pour l'info JM. Je vais tester. Je sais qu'il est plus simple de joindre un fichier mais c'est un peu compliqué car ils contiennent des données client et surtout qu'il y a 4 classeur attachés....

Néanmoins je viens de vider au max les fichiers concernés que je joints donc à la discussion

En fait je voudrais lancer la macro "creationrepertoire" à partir du classeur facture.xls sachant que ce mois ci
le fichier dans lequel est la macro s'appelle bob082012.xls mais que le mois prochain il s'appelera bob092012.xls et ainsi
de suite au cours de l'année.

Cordialement
Merci encore
 

Pièces jointes

  • FACTURE.xls
    27.5 KB · Affichages: 38
  • BOB082012.xls
    692 KB · Affichages: 53
  • FACTURE.xls
    27.5 KB · Affichages: 41
  • FACTURE.xls
    27.5 KB · Affichages: 39

Staple1600

XLDnaute Barbatruc
Re : Ouvrir à distance la macro d'un classeur dont le nom change

Re

As-tu décortiquer la syntaxe (qui fonctionne) de ma macro exemple
(voir message précédent)
notamment la ligne commençant par:
Application.Run

Tu n'as pas noté de différence avec ta propre syntaxe (qui ne fonctionne pas) ?
 

excelman

XLDnaute Occasionnel
Re : Ouvrir à distance la macro d'un classeur dont le nom change

Re

Ok JM je m'incline...


Voici la macro qui fonctionne parfaitement :

Sub lancementmacrodistante()
Dim CDistant As Workbook
Set CDistant = Workbooks("bob" & Format(DateSerial(Year(Date), Month(Date), 1), "mmyyyy") & ".xls")
Application.Run CDistant.Name & "!creationrepertoire"
End Sub


Merci beaucoup pour cette information..

Cordialement
Thierry
 

Discussions similaires

Statistiques des forums

Discussions
314 633
Messages
2 111 404
Membres
111 124
dernier inscrit
presa54