Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment savoir si un bouton a été cliqué

5 réponses
Avatar
Donnazac
Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une macro
qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque l'on
quite la feuille, comment savoir si le bouton "enregistrer" à été cliqué.
J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie

5 réponses

Avatar
sabatier
bonsoir anne-marie
peut-être que mettre ta proc dans le Beforeclose de ThisWorkbook ne
serait pas une mauvaise idée....oeuf corse, ce ne serait pas un
enregistrement sur ordre mais au moins tu es sûre qu'il n'aura pas été
oublié...
jps

Donnazac a écrit:
Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une macro
qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque l'on
quite la feuille, comment savoir si le bouton "enregistrer" à été cliqué.
J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie




Avatar
Donnazac
Bonsoir
Votre proposition est interessante si l'on ferme aussitot mais si on fait
des allées venues entre les feuilles les enregistrements intermédiaires ne
seraient pas fait excepté le tout dernier.
Merci pour votre aide
Anne-Marie

"sabatier" a écrit dans le message de
news:
bonsoir anne-marie
peut-être que mettre ta proc dans le Beforeclose de ThisWorkbook ne
serait pas une mauvaise idée....oeuf corse, ce ne serait pas un
enregistrement sur ordre mais au moins tu es sûre qu'il n'aura pas été
oublié...
jps

Donnazac a écrit:
Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une
macro


qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque
l'on


quite la feuille, comment savoir si le bouton "enregistrer" à été
cliqué.


J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie







Avatar
sabatier
1) tu as bien lu, philippe : moi, on me vouvoie...
2) anne-marie, on pourrait penser que un ActiveWorkbook.Save à la
fermeture a pour effet d'enregistrer TOUTES les modifications, sur
quelles que feuilles que ce soit ou me trompe-je?
jps (tel un scout : toujours prêt, surtout pour les allées et venues)

Donnazac a écrit:
Bonsoir
Votre proposition est interessante si l'on ferme aussitot mais si on fait
des allées venues entre les feuilles les enregistrements intermédiaires ne
seraient pas fait excepté le tout dernier.
Merci pour votre aide
Anne-Marie

"sabatier" a écrit dans le message de
news:

bonsoir anne-marie
peut-être que mettre ta proc dans le Beforeclose de ThisWorkbook ne
serait pas une mauvaise idée....oeuf corse, ce ne serait pas un
enregistrement sur ordre mais au moins tu es sûre qu'il n'aura pas été
oublié...
jps

Donnazac a écrit:

Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une


macro


qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque


l'on


quite la feuille, comment savoir si le bouton "enregistrer" à été


cliqué.


J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie











Avatar
Philippe.R
:op)

"sabatier" a écrit dans le message de news:
1) tu as bien lu, philippe : moi, on me vouvoie...
2) anne-marie, on pourrait penser que un ActiveWorkbook.Save à la
fermeture a pour effet d'enregistrer TOUTES les modifications, sur
quelles que feuilles que ce soit ou me trompe-je?
jps (tel un scout : toujours prêt, surtout pour les allées et venues)

Donnazac a écrit:
Bonsoir
Votre proposition est interessante si l'on ferme aussitot mais si on fait
des allées venues entre les feuilles les enregistrements intermédiaires ne
seraient pas fait excepté le tout dernier.
Merci pour votre aide
Anne-Marie

"sabatier" a écrit dans le message de
news:

bonsoir anne-marie
peut-être que mettre ta proc dans le Beforeclose de ThisWorkbook ne
serait pas une mauvaise idée....oeuf corse, ce ne serait pas un
enregistrement sur ordre mais au moins tu es sûre qu'il n'aura pas été
oublié...
jps

Donnazac a écrit:

Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une


macro


qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque


l'on


quite la feuille, comment savoir si le bouton "enregistrer" à été


cliqué.


J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie














Avatar
Denis Michon
Bonsoir Anne-Marie,

Dans un module standard, Déclare la variable suivante :

Public Ok as Integer

Dans la procédure de ton bouton sur la feuille, insère cette ligne de code en début de procédure :

Ok = 2


Dans la feuille module où l'action doit se dérouler, insère cette procédure.

'----------------------
Private Sub Worksheet_Change(ByVal Target As Range)

Ok = 1

End Sub
'----------------------
Private Sub Worksheet_Deactivate()

If Ok <> 2 Then
Sheets("Feuil1").Select
MsgBox "Vous devez enregistrer avant de quitter"
End If

End Sub
'----------------------

Et si tu veux que l'usager ne puisse fermer le classeur sans avoir sauvegarder si il a modifier la dite feuille, insère
cette procédure dans le ThisWorkbook.

'----------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Ok <> 2 Then
Cancel = True
MsgBox "Vous devez sauvegarder le classeur avant de fermer."
End If

End Sub
'---------------------


P.S. Dans les diverses procédures, au lieu de demander à l'usager d'enregistrer, tu pourrais automatiquement appeler la
procédure d'enregistrement attaché au bouton de ta feuille.


Salutations!







"Donnazac" a écrit dans le message de news:%
Bonsoir
J'ai créé une feuille où il y a un bouton "Enregistrer" ainsi qu'une macro
qui fait l'enregistrement.
Mon problème c'est d'être sure que l'enregistrement a été fait lorsque l'on
quite la feuille, comment savoir si le bouton "enregistrer" à été cliqué.
J'avais bien pensé de faire l'enregistrement ds "Desactivate" mais cela
empeche d'aller rechercher eventuellement un renseignement ds une autre
feuille. Je désire d'enregistrer sur ordre mais que l'on risque pas
d'oublier en quittant la feuille.
Merci beaucoup pour votre aide
Amicalement
Anne-Marie