Bonjour,
Je souhaiterais pouvoir vérifier que ma feuille à été modifiée, ceci afin que
l'utilisateur n'oublies pas d'activer la macro sauvegarde et ainsi ne pas
perdre de donnée.
Je souhaiterais pour cela détecter qu'une touche à été pressée sur la feuille
en question. Si une touche à été pressée, je place 0 dans la case Z1 et
lorsque je sauvegarde je place 1 dans cette même case ce qui me permet de
bloquer toutes les autres actions qui me fait perdre les données si je n'ai
pas sauvegarder préalablement.
Donc comment détecter qu'une touche à été pressée sur la feuille "Fiche" et
placer 0 dans ce cas dans la case Z1 ?
J'ai placer le code ci-dessous qui fonctionne bien mais le problème c'est que
à la fin de ma macro sauvegarde je place 1 en Z1 mais comme il voit un
changement sur la feuille il replace directement le 0. (Je veux donc pouvoir
mettre le 0 uniquement si une touche est pressée, ou alors une autre solution
à mon problème ? )
Private Sub Worksheet_Change(ByVal Target As Range)
'Place un repère pour signaler que la fiche à été modifiée
If Range("Z1") = 1 Then
Range("Z1") = 0
End If
End Sub
Merci d'avance pour votre aide.
Steph
Bonjour,
Je souhaiterais pouvoir vérifier que ma feuille à été modifiée, ceci afin que
l'utilisateur n'oublies pas d'activer la macro sauvegarde et ainsi ne pas
perdre de donnée.
Je souhaiterais pour cela détecter qu'une touche à été pressée sur la feuille
en question. Si une touche à été pressée, je place 0 dans la case Z1 et
lorsque je sauvegarde je place 1 dans cette même case ce qui me permet de
bloquer toutes les autres actions qui me fait perdre les données si je n'ai
pas sauvegarder préalablement.
Donc comment détecter qu'une touche à été pressée sur la feuille "Fiche" et
placer 0 dans ce cas dans la case Z1 ?
J'ai placer le code ci-dessous qui fonctionne bien mais le problème c'est que
à la fin de ma macro sauvegarde je place 1 en Z1 mais comme il voit un
changement sur la feuille il replace directement le 0. (Je veux donc pouvoir
mettre le 0 uniquement si une touche est pressée, ou alors une autre solution
à mon problème ? )
Private Sub Worksheet_Change(ByVal Target As Range)
'Place un repère pour signaler que la fiche à été modifiée
If Range("Z1") = 1 Then
Range("Z1") = 0
End If
End Sub
Merci d'avance pour votre aide.
Steph
Bonjour,
Je souhaiterais pouvoir vérifier que ma feuille à été modifiée, ceci afin que
l'utilisateur n'oublies pas d'activer la macro sauvegarde et ainsi ne pas
perdre de donnée.
Je souhaiterais pour cela détecter qu'une touche à été pressée sur la feuille
en question. Si une touche à été pressée, je place 0 dans la case Z1 et
lorsque je sauvegarde je place 1 dans cette même case ce qui me permet de
bloquer toutes les autres actions qui me fait perdre les données si je n'ai
pas sauvegarder préalablement.
Donc comment détecter qu'une touche à été pressée sur la feuille "Fiche" et
placer 0 dans ce cas dans la case Z1 ?
J'ai placer le code ci-dessous qui fonctionne bien mais le problème c'est que
à la fin de ma macro sauvegarde je place 1 en Z1 mais comme il voit un
changement sur la feuille il replace directement le 0. (Je veux donc pouvoir
mettre le 0 uniquement si une touche est pressée, ou alors une autre solution
à mon problème ? )
Private Sub Worksheet_Change(ByVal Target As Range)
'Place un repère pour signaler que la fiche à été modifiée
If Range("Z1") = 1 Then
Range("Z1") = 0
End If
End Sub
Merci d'avance pour votre aide.
Steph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
<gmlsteph@gmail.com> a écrit dans le message de
news:812bfd78-4df9-48d6-802e-262c2f0bf08e@googlegroups.com...
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
<gmlsteph@gmail.com> a écrit dans le message de
news:812bfd78-4df9-48d6-802e-262c2f0bf08e@googlegroups.com...
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se trouvant
dans une liste sur une autre feuille. Les données ainsi rappatriées
peuvent être modifiées. Lors d'un nouvelle enregistrement de données,
l'opérateur intègre ces nouvelles données et doit pousser sur un bouton
enregistrement qui via macro enregistre ces nouvelles données dans la
liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" a écrit dans le message de
news:4fe98c4b$0$3107$Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$1@speranza.aioe.org...
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" <steph.stommen@skynet.be> a écrit dans le message de
news:4fe98c4b$0$3107$ba620e4c@news.skynet.be...
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
<gmlsteph@gmail.com> a écrit dans le message de
news:812bfd78-4df9-48d6-802e-262c2f0bf08e@googlegroups.com...
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" a écrit dans le message de
news:4fe98c4b$0$3107$Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" a écrit dans le message de
news:4fe98c4b$0$3107$Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$1@speranza.aioe.org...
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" <steph.stommen@skynet.be> a écrit dans le message de
news:4fe98c4b$0$3107$ba620e4c@news.skynet.be...
Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
<gmlsteph@gmail.com> a écrit dans le message de
news:812bfd78-4df9-48d6-802e-262c2f0bf08e@googlegroups.com...
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph
Salut Paname
Peux-tu expliquer, en gaulois, ce que cette grande bretonnerie issue de ta
plume veut dire?
If [z1] Then [z1]=0
Je pense beaucoup à ta rue ces jours-ci ... -)))
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"LSteph" a écrit dans le message de groupe de discussion :
jseb7p$n59$
Bonjour,
Tout d'abord si j'ai compris pour l'idée de fond:
EtapeA
L'utilisateur ouvre le fichier
Les données de la feuille données n'ont théoriquement pas bougé depuis
le dernier enregistrement du classeur.
EtapeB
Il active la macro qui place des données de la Feuille Données dans la
Feuille 1
EtapeC
Il peut alors Modifier ces données en Feuille 1 ce qui entrainerait la
nécessité de mettre à jour la Feuille Données.(Etape D)
Ce pb posé que peut il arriver maintenant, s'il ferme le classeur
1-Il n'enregistre pas
Tout va bien ou presque les données restent fidèles à l'Etape A
mais
il a perdu son temps.
2-Il enregistre sans avoir pensé à l'étape D
Ca ne va pas car . Feuil1 est en EtapeC ou B alors que Feuille
Données< est en EtapeA
3-Stéphane a eu la bonne idée de mettre dans le BeforeSave du
ThisWorkBook
un appel à sa macro qui remet bien les données de Feuil1 vers
Feuille Données.
L'utilisateur n'a plus à s'en soucier , tout a été bien pensé. Il
faut juste dire oui à l'enregistrement du classeur.
Sinon par ailleurs , j'ai loupé une question annexe, désactiver les
évennements qd il risquent de s'appeler eux-même
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEventsúlse
If [z1] Then [z1]=0
Application.EnableEvents=true
End Sub
'LSteph
"Stéphane" a écrit dans le message de
news:4fe98c4b$0$3107$Merci pour votre réponse.
En fait, sur la feuille je rappatrie via une macro les données se
trouvant dans une liste sur une autre feuille. Les données ainsi
rappatriées peuvent être modifiées. Lors d'un nouvelle enregistrement de
données, l'opérateur intègre ces nouvelles données et doit pousser sur un
bouton enregistrement qui via macro enregistre ces nouvelles données dans
la liste sur la feuille "Données".
Je souhaiterais donc qu'il n'oublie pas cette étape.
Donc quand je parle d'enregistrement, ce n'est pas vraiment le fichier en
lui même, lui sera enregistrer plus tard.
Je vais voir si la commande OnKey peut m'aider. Merci
Steph
a écrit dans le message de
news:
Bonjour,
Premier point:
Si ta demande vise cet objectif de vérification, excel le fait déjà!
Lorsque tu quittes excel ou ferme le document,
un message te propose d'enregistrer selon la procédure normale.
Cela dit si tu veux à ce moment effectuer une procédure en particulier,
l'évennement est interceptable via le module ThisWokbook.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Cancel=true
Call mamacroquienregistreautrement
End Sub
Second Point:
Le fait qu'une touche ait été pressée n'est pas réellement déterminant
d'une modification.
On pourrait appuyer sur x touches et que cela ne modifie rien.
De même on peut modifier le feuille sans utiliser de touches,
simplement click droit souris Coller pour ne citer que cet exemple.
En revanche si ce n'était qu'un cas d'école pour voir comment intercepter
une frappe de touche cela dépend du contexte et quand sur quel cas
l'intercepter.
Par exemple au niveau application tu as OnKey, au niveau d'un UserForm
KeyPress
...cf l'aide ou précise ici suivant un besoin plus concret.
Cordialement.
--
LSteph