Bonjour,
J'ai besoin pour un fichier qui sera diffusé à des clients de forcer l’exécution d'une macro avant enregistrement du fichier.
Je m'explique:
- J'ai créé un fichier de dimensionnement d'un système incendie.
Mes clients vont le remplir et me le renvoyer.
Le rôle d'une des macros est de nommer le fichier d'une certaine façon suivant les valeurs de certaines cellules. Cette partie est fonctionnelle.
Ce que je recherche est d’exécuter cette macro avant chaque enregistrement.
Bonjour Fanfan38
Toujours le même problème : j'ai écrit ma réponse alors qu'il n'y en avait aucune autre.
Plus souvent il arrive qu'un message me demande si je veux voir ce qui a été écrit alors qu'il n'y avait rien quand j'ai commencé à écrire. C'est ch...... !
Là, chance, on dit la même chose
Bonjour à tous les deux,
Je viens de tester les lignes de code que vous m'avez indiqué. Mais lorsque je clique sur enregistrer ça ne fonctionne pas. Elle ne s'exécute pas lorsque j'enregistre.
Pourriez vous m'aider ?
Rien ne s'execute car Pounet95 a mis mamacro et moi j'ai mis un commentaire mais ni l'un ni l'autre avons mis une commande...
si en dessous de 'action tu mets
msgbox("Bonjour")
tu auras un message mais sauvegarder d'une certaine façon suivant les valeurs d'une certaine cellule ça on sait pas faire... on est pas devain
A+ François
Rien ne s'execute car Pounet95 a mis mamacro et moi j'ai mis un commentaire mais ni l'un ni l'autre avons mis une commande...
si en dessous de 'action tu mets
msgbox("Bonjour")
tu auras un message mais sauvegarder d'une certaine façon suivant les valeurs d'une certaine cellule ça on sait pas faire... on est pas devain
A+ François
Désolé, je me suis mal exprimé alors. Je m'en excuse.
En fait, j'ai deux macros. Une qui permet de dire le nom de fichier est composé de telle cellule et telle cellule:
Sub enregistrer_classeur()
fichier = "E:\Professionnel\" & Range("Synthèse!B3") & " - " & Range("Synthèse!B7") & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub
Et j'en ai créé une autre qui a pour mission d'exécuter la macro "nom_fichier" lors de l'enregistrement. dans celle-là, j'ai mis les lignes de codes identiques à ce que vous m'avez mis en remplaçant le action ou mamacro par nom_fichier.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Nom_fichier
End Sub
Je ne sais pas ou la macro plante pour ne pas s'exécuter lors de l'enregistrement. En mode manuel, la macro enregistrer le fichier fonctionne.
Bonjour, Les deux versions fonctionnent. LA partie qui ne focntionne pas dans mon codage c'est bouton enregistrer (la fameuse disquette) exécution de la macro et enregistrement
Ta macro enregistrer classeur est lancée quand?
Je pense qu'il faut l'ajouter dans la macro comme ci dessous...
mais à force de jouer au devinette.....
VB:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Nom_fichier
enregistrer_classeur
End Sub