OVH Cloud OVH Cloud

Au secours : plus de "ctrl+z"

3 réponses
Avatar
Antonio
Bonjour,

Lorsque la fonction suivante est appel=E9e

Private Sub Workbook_SheetSelectionChange(ByVal Sh As=20
Object, ByVal Target As Range)
MsgBox Sh.UsedRange.EntireRow.Count
End Sub

Je perd mon "ctrl+z" et la fonction de do/undo est
ne marche plus du tout.
Pourtant, je ne fais rien de particulier.

Des id=E9es?

Merci.

3 réponses

Avatar
Antonio
Je ne suis pas tout a fait d'accord,
je ne fais pas de undo qui appellerait l'évènement...
en fait, je clique sur une cellule quelconque,
là l'évènement "selectionchange" est appelé, mais dès que
j'interroge la propriété "Sh.UsedRange.EntireRow.Count",
le "do/undo" disparapît de la tool bar et ensuite,
plus moyen de l'avoir. Pour le vérifier, j'ai placé
un point d'arrêt sur cette ligne, et j'avais le
do/undo actif dans la tool bar, j'avance d'un cran,
et hop il disparaît...j'ai l'impression que l'appel
au "usedrange" doit faire cela.

Qu'en penses tu?

-----Message d'origine-----
La même question 2 fois en 5 heures cela doit presser.

Cela doit être parce Ctrl-Z déclenche l'événement et que
c'est la

procédure qui est lancée à la place des fonctions
d'origine. On ne

peut pas avoir le beurre et l'argent du beurre.


"Antonio" a écrit dans le
message de

news:07c101c377b4$47bd9010$

Bonjour,

Lorsque la fonction suivante est appelée

Private Sub Workbook_SheetSelectionChange(ByVal Sh As
Object, ByVal Target As Range)
MsgBox Sh.UsedRange.EntireRow.Count
End Sub

Je perd mon "ctrl+z" et la fonction de do/undo est
ne marche plus du tout.
Pourtant, je ne fais rien de particulier.

Des idées?

Merci.

.



Avatar
Antonio
Même sans la msgbox, ça fait la même chose,
" n = Sh.UsedRange.EntireRow.Count" le fait
également, ce n'est donc pas une question de msgbox.

J'ai placé un point d'arrêt sur cette ligne
dans ma macro, le do/undo est actif dans la toolbar,
j'avance d'un cran, et hop le do/undo disparaît et
plus moyen de l'avoir. J'ai l'impression que c'est
l'appel au "usedrange" qui fait cela.


-----Message d'origine-----
Salut !
Ben, en fait, si, tu fais quelque chose de particulier :
tu fais apparaître une message box qui efface
l'historique

des actions effectuées ! Un peu comme ce qu'il se passe
si

tu actives les cercles d'invalidité ou que tu fais
tourner

un macro réalisant une action.
Je n'ai à ce jour pas trouver la parade, et je ne pense
pas que ce soit possible, à moins que... les grands
maîtres d'XL présents sur ce faux rhum n'en aient une en
réserve, auquel cas, je serai également preneur !!!!
tchô

Vincent.
-----Message d'origine-----

Bonjour,

Lorsque la fonction suivante est appelée

Private Sub Workbook_SheetSelectionChange(ByVal Sh As
Object, ByVal Target As Range)
MsgBox Sh.UsedRange.EntireRow.Count
End Sub

Je perd mon "ctrl+z" et la fonction de do/undo est
ne marche plus du tout.
Pourtant, je ne fais rien de particulier.

Des idées?

Merci.
.

.





Avatar
michdenis
Bonjour Antonio,

Lis attentivement ce que l'aide d'excel sur la méthode "Undo", tu y trouveras l'explication.

============================ Undo, méthode
Voir aussi S'applique à Exemple Spécificités
Cette méthode annule la dernière opération COMMANDÉE à partir de L'INTERFACE UTILISATEUR (FEUILLE DE CALCUL)

expression.Undo
expression Obligatoire. Expression qui renvoie un objet Application.
Notes
Cette méthode n'annule que la dernière opération commandée par l'utilisateur AVANT l'exécution de la macro et doit
figurer en PREMIÈRE LIGNE dans la macro. Elle NE PEUT être utilisée POUR ANNULER des COMMANDES VISUAL BASIC.
Exemple
Cet exemple montre comment annuler la dernière opération commandée à partir de l'interface utilisateur. L'exemple doit
figurer en première ligne dans la macro.
Application.Undo
=============================

Salutations!




"Antonio" a écrit dans le message de news:03eb01c37830$d7255fe0$


Je ne suis pas tout a fait d'accord,
je ne fais pas de undo qui appellerait l'évènement...
en fait, je clique sur une cellule quelconque,
là l'évènement "selectionchange" est appelé, mais dès que
j'interroge la propriété "Sh.UsedRange.EntireRow.Count",
le "do/undo" disparapît de la tool bar et ensuite,
plus moyen de l'avoir. Pour le vérifier, j'ai placé
un point d'arrêt sur cette ligne, et j'avais le
do/undo actif dans la tool bar, j'avance d'un cran,
et hop il disparaît...j'ai l'impression que l'appel
au "usedrange" doit faire cela.

Qu'en penses tu?

-----Message d'origine-----
La même question 2 fois en 5 heures cela doit presser.

Cela doit être parce Ctrl-Z déclenche l'événement et que
c'est la

procédure qui est lancée à la place des fonctions
d'origine. On ne

peut pas avoir le beurre et l'argent du beurre.


"Antonio" a écrit dans le
message de

news:07c101c377b4$47bd9010$

Bonjour,

Lorsque la fonction suivante est appelée

Private Sub Workbook_SheetSelectionChange(ByVal Sh As
Object, ByVal Target As Range)
MsgBox Sh.UsedRange.EntireRow.Count
End Sub

Je perd mon "ctrl+z" et la fonction de do/undo est
ne marche plus du tout.
Pourtant, je ne fais rien de particulier.

Des idées?

Merci.

.