Lancement d'une macro dans une autre feuille

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

benadry

XLDnaute Occasionnel
Bonjour le forum,

Je vous expose mon problème : dans un userform, j'ai une macro qui doit s'exécuter à partir de la réponse donnée à un message. Si la réponse est positive, je souhaite qu'une macro située sur une autre feuille se lance.

Voici un extrait de mon code :

Code:
Private Sub ValiderSaisie_Click()


Dim reponse As String

reponse = MsgBox("Les documents ont été mis à jour et enregistrés en fonction des données saisies." & vbLf & vbLf & "Voulez-vous maintenant effacer celles-ci et passer à un autre produit ?", vbYesNo + vbExclamation")

If reponse = No Then Exit Sub
If reponse = Yes Then


With Sheets("Feuil2")
Call SaveAsPdf

End With

With Sheets("Feuil3")
Call SaveAsPdf2

End With

J'ai essayé de plusieurs façons, selon ce que j'ai lu dans des forums :

en faisant
Code:
Sheets("Feuil2").Select
Call SaveAsPdf

Code:
Sheets("Feuil2").Select
SaveAsPdf

ou la solution dans le code ci-dessus et j'ai une erreur "Sub ou fonction non définie".

Quelqu'un pourrait-il me dire ce qu'il faut faire ?

Merci d'avance.

Cordialement.
 
Re : Lancement d'une macro dans une autre feuille

Bonjour,
bonjour Philippe,

modifie peut être ce qui suit ainsi :
Code:
Dim reponse As INTEGER

reponse = MsgBox("Les documents ont été mis à jour et enregistrés en fonction des données saisies." & vbLf & vbLf & "Voulez-vous maintenant effacer celles-ci et passer à un autre produit ?", vbYesNo + vbExclamation")

If reponse = VbNo Then Exit Sub
If reponse = VbYes Then
bon après midi
@+
 
Re : Lancement d'une macro dans une autre feuille

Bonjour Philippe,
Bonjour Pierrot,

Merci pour vos réponses.

J'ai pris en compte vos deux suggestions et ça ne marche pas mieux : j'ai toujours la même erreur.

J'ai également modifié le code à plusieurs reprises avec

Code:
Sheets("Feuil2").Select
Call SaveAsPdf

Code:
Sheets("Feuil2").Select
SaveAsPdf

Code:
With Sheets("Feuil2")
Call SaveAsPdf
End With

Code:
With Sheets("Feuil2")
SaveAsPdf
End With

Auriez-vous une autre idée pour m'aider à avancer ?

Merci d'avance.

Cordialement.
 
Re : Lancement d'une macro dans une autre feuille

Re,

dans le code proposé, le dernier " est en trop...
Code:
Sub test()
Dim reponse As Integer

reponse = MsgBox("Les documents ont été mis à jour et enregistrés en fonction des données saisies." & vbLf & vbLf & "Voulez-vous maintenant effacer celles-ci et passer à un autre produit ?", vbYesNo + vbExclamation)

If reponse = vbNo Then Exit Sub
If reponse = vbYes Then MsgBox "ok"
End Sub
 
Re : Lancement d'une macro dans une autre feuille

Re-,

Désolé, si je suis bouché et si je vous fais perdre votre temps ; mais, je plane complètement !

Voici donc mon code :

Code:
Private Sub ValiderSaisie_Click()


Dim reponse As Integer


reponse = MsgBox("Les documents ont été mis à jour et enregistrés en fonction des données saisies." & vbLf & vbLf & "Voulez-vous maintenant effacer celles-ci et passer à un autre agent ?", vbYesNo + vbExclamation, "VELP -  V2.0 - CPAM des Ardennes")
'ret = MsgBox("Le bulletin de salaire et la feuille de calcul des cotisations ont été mis à jour et enregistrés en fonction des données saisies." & vbLf & vbLf & "Voulez-vous maintenant effacer celles-ci et passer à un autre produit ?", vbYesNo + vbExclamation, "MonAppli")

If reponse = vbNo Then
Exit Sub
If reponse = vbYes Then MsgBox "ok"

With Sheets("Feuil2")
Call SaveAsPdf

End With

With Sheets("Feuil3")
Call SaveAsPdf2

End With

End If

End Sub

J'ai toujours la même erreur de Sub ou fonction non définie.

Je suis preneur de toute idée.

Merci d'avance.

Cordialement.
 
Re : Lancement d'une macro dans une autre feuille

Re,

problème dans ton "if" :
Code:
If reponse = vbNo Then Exit Sub
If reponse = vbYes Then 

With Sheets("Feuil2")
Call SaveAsPdf

End With

With Sheets("Feuil3")
Call SaveAsPdf2

End With

End If

et tes 2 blocs "with" ne servent à rien en l'état....
 
- 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
5
Affichages
477
Retour