Macro lancé via un clic sur le bouton save
Résolu/Fermé
momouiz
Messages postés
30
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
-
1 juil. 2013 à 09:53
momouiz Messages postés 30 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 21 octobre 2013 - 1 juil. 2013 à 16:04
momouiz Messages postés 30 Date d'inscription lundi 24 juin 2013 Statut Membre Dernière intervention 21 octobre 2013 - 1 juil. 2013 à 16:04
A voir également:
- Macro lancé via un clic sur le bouton save
- Save as pdf - Télécharger - Bureautique
- Windows ne se lance pas - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
6 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
1 juil. 2013 à 10:33
1 juil. 2013 à 10:33
Bonjour,
Pour « lancé une macro via un clic sur le bouton save de la feuille excel » il faut utiliser l'évènement BeforeSave dans le module ThisWorkBook :
Pour « lancé une macro via un clic sur le bouton save de la feuille excel » il faut utiliser l'évènement BeforeSave dans le module ThisWorkBook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Call MonModule.MaMacro(MesArguments) End Sub
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 1/07/2013 à 11:53
Modifié par Patrice33740 le 1/07/2013 à 11:53
Re,
« cela ne fonctionne pas » Qu'est-ce qui ne fonctionne pas ? Y-a-t'il un message d'erreur ? Lequel ?
Pour le message, comme l'évènement se produit juste avant la sauvegarde cela donne :
Cordialement
Patrice
« cela ne fonctionne pas » Qu'est-ce qui ne fonctionne pas ? Y-a-t'il un message d'erreur ? Lequel ?
Pour le message, comme l'évènement se produit juste avant la sauvegarde cela donne :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "Vous allez sauvegarder" End Sub
Cordialement
Patrice
momouiz
Messages postés
30
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
3
1 juil. 2013 à 11:09
1 juil. 2013 à 11:09
salut patrice33740, et merci pour ta réponse malheuresement je crois que je me suis mal exprimé j'ai testé d'abord ta réponse et cela ne fonctionne pas.
Pour simplifié mon probléme, je veux que lorsque je clique sur la petit disquette pour sauvegarder sa m'affiche par exemple un petit msgbox " vous venez de sauvegardez".
Merci.
Pour simplifié mon probléme, je veux que lorsque je clique sur la petit disquette pour sauvegarder sa m'affiche par exemple un petit msgbox " vous venez de sauvegardez".
Merci.
momouiz
Messages postés
30
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
3
1 juil. 2013 à 12:01
1 juil. 2013 à 12:01
cool c'est ce que je cherchais, merci pour ta réponse cela fonctionne correctement maintenant une derniere question car à partir de mon classeur j'ouvre un autre classeur et je veux que lorsque l'utilisateur modifie le classeur ouvert cela enregistre mais je veux programmer cela à partir de mon classeur principal, cela est-il faisable grâce à :
Private Sub INSERTVBCODE(WorkbookToUpdate As Workbook):
on a ensuite quelque chose comme sa :
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
'Set VBProj = ActiveWorkbook.VBProject
Set VBProj = WorkbookToUpdate.VBProject
'Set VBComp = VBProj.VBComponents("Module1")
Set VBComp = VBProj.VBComponents("ThisWorkbook")
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "Option Explicit"
LineNum = LineNum + 1
.InsertLines LineNum, "Private Sub Workbook_BeforeClose(Cancel As Boolean)"
LineNum = LineNum + 1
.... etc
Private Sub INSERTVBCODE(WorkbookToUpdate As Workbook):
on a ensuite quelque chose comme sa :
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Dim LineNum As Long
'Set VBProj = ActiveWorkbook.VBProject
Set VBProj = WorkbookToUpdate.VBProject
'Set VBComp = VBProj.VBComponents("Module1")
Set VBComp = VBProj.VBComponents("ThisWorkbook")
Set CodeMod = VBComp.CodeModule
With CodeMod
LineNum = .CountOfLines + 1
.InsertLines LineNum, "Option Explicit"
LineNum = LineNum + 1
.InsertLines LineNum, "Private Sub Workbook_BeforeClose(Cancel As Boolean)"
LineNum = LineNum + 1
.... etc
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
1 juil. 2013 à 12:19
1 juil. 2013 à 12:19
« je veux que lorsque l'utilisateur modifie le classeur ouvert ... »
Chaque fois qu'une cellule change ???
Chaque fois qu'une cellule change ???
momouiz
Messages postés
30
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
3
1 juil. 2013 à 16:04
1 juil. 2013 à 16:04
ah je vien de comprendre ton message, chaque fois qu'une cellule change tu fais une modif, si c'est possible, je veux bien savoir comment faire, quelques indications ne seront pas de refus !!
momouiz
Messages postés
30
Date d'inscription
lundi 24 juin 2013
Statut
Membre
Dernière intervention
21 octobre 2013
3
1 juil. 2013 à 14:02
1 juil. 2013 à 14:02
Non en fait voici le schéma de fonctionnement de ma macro:
à partir d'un form de workbook1 je peux ouvrir plusieurs workbook, disons qu'on a ouvert le workbook2, et à l'interieur de ce dernier (le workbook 2), je fais quelques modifications, et bien ce que je voudrais c'est :
que dans le form du workbook 1 (qui contient un bouton save avec une fonction ), lorsque je sauvegarde ou appuie sur le bouton save ou saveas, cela fasse appel à ma fonction de sauvegarde.
j'espere avoir été clair cette fois-ci ^^, car il est vrai que mon premier post n'était pas l'un des meilleurs lol.
En tout cas ta premiére réponse m'a beaucoup aidé.
à partir d'un form de workbook1 je peux ouvrir plusieurs workbook, disons qu'on a ouvert le workbook2, et à l'interieur de ce dernier (le workbook 2), je fais quelques modifications, et bien ce que je voudrais c'est :
que dans le form du workbook 1 (qui contient un bouton save avec une fonction ), lorsque je sauvegarde ou appuie sur le bouton save ou saveas, cela fasse appel à ma fonction de sauvegarde.
j'espere avoir été clair cette fois-ci ^^, car il est vrai que mon premier post n'était pas l'un des meilleurs lol.
En tout cas ta premiére réponse m'a beaucoup aidé.