Avec mon bon vieil Excel XP, il =C3=A9tait simple d'intercepter l'enregistr=
ement d'un fichier, ce qui me permettait d'imposer un chemin, un nom etc...
Aujourd'hui, avec Excel 2013, avant que je puisse intercepter l'=C3=A9v=C3=
=A8nement, il se passe plein de choses d=C3=A9agr=C3=A9ables que je souhait=
e =C3=A9viter !
- L'utilisateur clique sur la disquette,
- L'=C3=A9cran "Enregistrer sous" appara=C3=AEt (j'utilise un fichier mod=
=C3=A8le)
- L'utilisateur doit cliquer sur "Parcourir" et l=C3=A0 seulement je peux i=
ntercepter le clic et ex=C3=A9cuter ma macro.
Y a-t-il un moyen d'=C3=A9viter =C3=A7=C3=A0 ?
Merci d'avance =C3=A0 tous ceux qui vont se pencher sur mon souci !
Pour inhiber l'action du bouton "enregistrer" ou les commandes du menu "enregistrer" '--------------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = true '<<<<<<<========= 'Et tu peux ajouter un message si tu le désires. Msgbox "Utiliser le bouton dans la feuille de calcul pour enregistrer le fichier". End Sub '--------------------------------------- MichD
Pour inhiber l'action du bouton "enregistrer" ou les commandes du menu "enregistrer"
'---------------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = true '<<<<<<<========= 'Et tu peux ajouter un message si tu le désires.
Msgbox "Utiliser le bouton dans la feuille de calcul pour enregistrer le fichier".
End Sub
'---------------------------------------
Pour inhiber l'action du bouton "enregistrer" ou les commandes du menu "enregistrer" '--------------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = true '<<<<<<<========= 'Et tu peux ajouter un message si tu le désires. Msgbox "Utiliser le bouton dans la feuille de calcul pour enregistrer le fichier". End Sub '--------------------------------------- MichD
Bonjour Thierry, Je ne suis pas sur (c'est même certain) d'avoir bien compris ton problème. Mais, si tu parvenais à garder l'icône "enregistrer", mais lui attribuer une autre macro, cela ne conviendrait-il pas? cette gymnastique pourrait se faire auto à l'ouverture du fichier, puis,à la fermeture, la macro remettrait la bonne destination à l'icône. Facile à dire. .... Bonne m**** Jacques " Le vin est au repas ce que le parfum est à la femme." . "ThierryP" a écrit dans le message de groupe de discussion : Oui, c'est bien ce que j'utilisais avant ! Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire n'apparaisse. Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à l'emplacement et sous le nom définis dans mes macros ! Merci pour le retour, ThierryP --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Bonjour Thierry,
Je ne suis pas sur (c'est même certain) d'avoir bien compris ton problème.
Mais, si tu parvenais à garder l'icône "enregistrer", mais lui attribuer une
autre macro, cela ne conviendrait-il pas?
cette gymnastique pourrait se faire auto à l'ouverture du fichier, puis,à la
fermeture, la macro remettrait la bonne destination à l'icône.
Facile à dire. ....
Bonne m****
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"ThierryP" a écrit dans le message de groupe de discussion :
9bcd2731-1829-4e59-840c-ddff287f98e6@googlegroups.com...
Oui, c'est bien ce que j'utilisais avant !
Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas
accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave
se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire
n'apparaisse.
Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à
l'emplacement et sous le nom définis dans mes macros !
Merci pour le retour,
ThierryP
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
https://www.avast.com/antivirus
Bonjour Thierry, Je ne suis pas sur (c'est même certain) d'avoir bien compris ton problème. Mais, si tu parvenais à garder l'icône "enregistrer", mais lui attribuer une autre macro, cela ne conviendrait-il pas? cette gymnastique pourrait se faire auto à l'ouverture du fichier, puis,à la fermeture, la macro remettrait la bonne destination à l'icône. Facile à dire. .... Bonne m**** Jacques " Le vin est au repas ce que le parfum est à la femme." . "ThierryP" a écrit dans le message de groupe de discussion : Oui, c'est bien ce que j'utilisais avant ! Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire n'apparaisse. Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à l'emplacement et sous le nom définis dans mes macros ! Merci pour le retour, ThierryP --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
isabelle
bonjour ThierryP, SaveAsUI: Vrai si la boîte de dialogue Enregistrer sous s'affiche en raison des modifications apportées qui doivent être enregistrées dans le classeur. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) SaveAsUI = False Cancel = True MsgBox "ok" End Sub https://msdn.microsoft.com/en-us/library/office/ff840057.aspx isabelle Le 2017-02-07 à 07:46, ThierryP a écrit :
Oui, c'est bien ce que j'utilisais avant ! Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire n'apparaisse. Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à l'emplacement et sous le nom définis dans mes macros ! Merci pour le retour, ThierryP
bonjour ThierryP,
SaveAsUI: Vrai si la boîte de dialogue Enregistrer sous s'affiche en raison des
modifications apportées qui doivent être enregistrées dans le classeur.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
Cancel = True
MsgBox "ok"
End Sub
Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire n'apparaisse.
Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à l'emplacement et sous le nom définis dans mes macros !
bonjour ThierryP, SaveAsUI: Vrai si la boîte de dialogue Enregistrer sous s'affiche en raison des modifications apportées qui doivent être enregistrées dans le classeur. Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) SaveAsUI = False Cancel = True MsgBox "ok" End Sub https://msdn.microsoft.com/en-us/library/office/ff840057.aspx isabelle Le 2017-02-07 à 07:46, ThierryP a écrit :
Oui, c'est bien ce que j'utilisais avant ! Mais l'avantage d'inhiber l'icône, c'est que l'utilisateur ne peut même pas accéder à la page "Enregistrer" ou "Enregistrer sous" et la macro BeforeSave se lance dès le clic sur l'icône, sans qu'aucun écran intermédiaire n'apparaisse. Du coup, je suis absolument sûr que les fichiers iront bien s'enregistrer à l'emplacement et sous le nom définis dans mes macros ! Merci pour le retour, ThierryP
Et par rapport à ce que je connaissais, il semble qu'on ne puisse plus modifier directement par macro les menus d'Excel, mais je peux (sûrem ent !) me tromper.
Bonjour, Tu étais parti dans le sud? ;-) Concernant la procédure, seulement ceci est suffisant. Cela inhibe totalement la commande "Enregistrer sous" ou "Enregistrer" que ce soit avec la commande du ruban ou du menu. Qu'est-ce que tu fais quand le monsieur refuse de comprendre? ;-)) '-------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub '-------------------------------- Au besoin, on peut ajouter après la ligne "Cancel", une ligne de code pour appeler la procédure qui enregistrera le fichier '-------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True Call MySaveSub(SaveAsUI) End Sub '-------------------------------- Sub MySaveSub(First As Boolean) 'Au début de la macro d'enregistrement If First = True Then '52 Macro avec macro ThisWorkbook.SaveAs Filename:="C:ExcelNomDufichier", FileFormat:R Else ThisWorkbook.Save End If End Sub '-------------------------------- MichD
Bonjour,
Tu étais parti dans le sud? ;-)
Concernant la procédure, seulement ceci est suffisant.
Cela inhibe totalement la commande "Enregistrer sous" ou "Enregistrer"
que ce soit avec la commande du ruban ou du menu.
Qu'est-ce que tu fais quand le monsieur refuse de comprendre?
;-))
'--------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub
'--------------------------------
Au besoin, on peut ajouter après la ligne "Cancel", une ligne de code pour
appeler la procédure qui enregistrera le fichier
'--------------------------------
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
Call MySaveSub(SaveAsUI)
End Sub
'--------------------------------
Sub MySaveSub(First As Boolean)
'Au début de la macro d'enregistrement
If First = True Then
'52 Macro avec macro
ThisWorkbook.SaveAs Filename:="C:ExcelNomDufichier", FileFormat:R
Else
ThisWorkbook.Save
End If
End Sub
'--------------------------------
Bonjour, Tu étais parti dans le sud? ;-) Concernant la procédure, seulement ceci est suffisant. Cela inhibe totalement la commande "Enregistrer sous" ou "Enregistrer" que ce soit avec la commande du ruban ou du menu. Qu'est-ce que tu fais quand le monsieur refuse de comprendre? ;-)) '-------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub '-------------------------------- Au besoin, on peut ajouter après la ligne "Cancel", une ligne de code pour appeler la procédure qui enregistrera le fichier '-------------------------------- Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True Call MySaveSub(SaveAsUI) End Sub '-------------------------------- Sub MySaveSub(First As Boolean) 'Au début de la macro d'enregistrement If First = True Then '52 Macro avec macro ThisWorkbook.SaveAs Filename:="C:ExcelNomDufichier", FileFormat:R Else ThisWorkbook.Save End If End Sub '-------------------------------- MichD
Sur ce site Web (en anglais), tu as toute l'information nécessaire pour transformer le ruban avec même des fichiers exemples. http://www.rondebruin.nl/win/section2.htm J'avais très bien compris ce que tu voulais faire, moi, je ne réponds pas (n'écris pas de fichier xml) pour modifier les menus, et ce par choix personnel.) directement à ce type de question. Cependant, au lieu de modifier le fichier xml pour modifier la commande, comme tu ne fais pas disparaître le bouton du ruban ni les commandes sous le menu fichier, l'approche que je propose est plus simple et elle est facile à mettre en application même dans un modèle! Ceci dit, tu fais comme bon te semble! En espérant que tu gardes le sourire quant à mes commentaires. MichD
Sur ce site Web (en anglais), tu as toute l'information nécessaire
pour transformer le ruban avec même des fichiers exemples.
http://www.rondebruin.nl/win/section2.htm
J'avais très bien compris ce que tu voulais faire, moi, je ne réponds
pas (n'écris pas de fichier xml) pour modifier les menus, et ce par
choix personnel.) directement à ce type de question.
Cependant, au lieu de modifier le fichier xml pour modifier la commande,
comme tu ne fais pas disparaître le bouton du ruban ni les commandes
sous le menu fichier, l'approche que je propose est plus simple et elle
est facile à mettre en application même dans un modèle!
Ceci dit, tu fais comme bon te semble! En espérant que tu gardes le
sourire quant à mes commentaires.
Sur ce site Web (en anglais), tu as toute l'information nécessaire pour transformer le ruban avec même des fichiers exemples. http://www.rondebruin.nl/win/section2.htm J'avais très bien compris ce que tu voulais faire, moi, je ne réponds pas (n'écris pas de fichier xml) pour modifier les menus, et ce par choix personnel.) directement à ce type de question. Cependant, au lieu de modifier le fichier xml pour modifier la commande, comme tu ne fais pas disparaître le bouton du ruban ni les commandes sous le menu fichier, l'approche que je propose est plus simple et elle est facile à mettre en application même dans un modèle! Ceci dit, tu fais comme bon te semble! En espérant que tu gardes le sourire quant à mes commentaires. MichD