pb avec Worksheet_Change

  • Initiateur de la discussion Initiateur de la discussion mkr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

mkr

Guest
si la valeur de la cellule A1 change, alors
la cellule A2 devient A3 ?

solution par MichelXld :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$A$1' Then Range('A2') = Range('A3')
End Sub

cela marche si je change manuellement
la valeur de la cellule !
vu que la valeur de la cellule est le resultat
d'une condition sur d'autres cellules,
cela ne marche pas !
excel ne voit pas alors que la cellule est modifiée !!
une idée ? une astuce ??
 
merci pour cette réponse
mais cela ne marche pas (même avec l'option cochée)

j'envoie une fichier simplifié
A1 est la somme de B1;B2

si je change A1 :
-à la main, alors c'est ok :
j'ai bien A2 qui devient = A3
-si je change B1, excel ne voit pas
qua A1 change et A2 ne devient donc pas A3

une idée? [file name=change_20060115003755.zip size=6649]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/change_20060115003755.zip[/file]
 

Pièces jointes

Un grand merci à Charly qui donne la solution via le fichier mkr_change.xls.

Désolé pour le doublon de messages.
J'essaierai de faire attention à ne pas multiplier les messages et à être plus explicite la prochaine fois.

A noter que la macro de Charly ne permet pas de faire de undo. C'est le seul petit hic.
Sinon, cela marche nickel.
Merci encore à Charly2 !

Cordialement
Mkr
 
Bonjour mkr et Jacques 🙂

mkr, tu trouveras dans le fichier joint le code modifié qui te permettra de revenir en arrière (msgbox quand la valeur de A1 est modifiée par le recalcul)...

[file name=mkr_changeV2.zip size=9129]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mkr_changeV2.zip[/file]


A+
 

Pièces jointes

Merci encore Charly pour ton aide.
Cela marche pour la fonction somme en cellule A1.
Par contre, si je remplace la fonction somme par une autre fonction qui utilise l'itération (cf.la formule de jean-marie) cela ne marche toujours pas !

Je te renvoie le fichier simplifié mkr_changeV3 pour que tu comprennes.
Je ne sais pas comment tu fais pour ne pas devenir fou avec toutes ces boucles. [file name=mkr_changeV3.zip size=9270]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mkr_changeV3.zip[/file]
 

Pièces jointes

Charly, je t'envoie mon fichier def.
C'est peut-être plus simple.
Le but du jeu est de changer les valeurs B34 et D34. B34: la date / D34: le prix.

Si le max est atteint, il est retenu en G37 associé à G38-B37-B38.
Si le min est atteint, il est retenu en G39 associé à G40-B39-B40.

Donc 2 soucis :
1. le Undo ne marche pas à cause de la fonction en G37 ou G39, ce dont je parle ci-dessus (mkr_changeV3.zip)
2. si je rajoute une condition de validation dans la cellule date, il y a aussi des conflits

Peut-être que je m'y suis vraiment mal pris.
J'aimerais simplement pouvoir changer B34 et D34 à tout moment, puis faire un undo sans souci. [file name=def_mkr.zip size=14864]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/def_mkr.zip[/file]
 

Pièces jointes

Bonsoir mkr, bonsoir à toutes et à tous 🙂

mkr, je renvoie ton fichier un peu modifié. J'y ai ajouté un bouton qui permet d'annuler jusqu'à 10 modifications des cellules B34 et D34 et les cellules dépendantes.

Pour ce faire, j'ai créé une petite pile LIFO (Last In First Out) dont tu trouveras aisément le code.

Teste tout ça et tiens nous au courant 😉
[file name=mkr_def.zip size=24226]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mkr_def.zip[/file]

A+
 

Pièces jointes

Merci beaucoup Charly.
C'est plus que parfait ! TOP de chez TOP !
Encore bravo !

Je note juste 2 petits bugs pour le plaisir,
histoire d'embêter le développeur que tu es.

1.
-Je lance excel et le fichier mkr_def.
Je m'amuse à rentrer la date du cours sans / par exemple. J'ai le message d'erreur de validation d'excel. Je RETRY.
Je rentre sans me tromper cette fois-ci la date avec les /, excel me demande de confirmer la date 2 à 3 fois. Etrange ???

-Je lance excel et le fichier mkr_def.
Je m'amuse à rentrer la date du cours sans / par exemple. J'ai le message d'erreur de validation d'excel. Je RETRY.
Je me trompe une nouvelle fois, car je n'ai toujours pas compris qu'il fallait mettre les /. J'ai à nouveau le message d'erreur de validation d'excel. Je RETRY(une seconde fois).
Je rentre sans me tromper cette fois-ci la date avec les /, excel me demande de confirmer la date 3 à 4 fois. Etrange ???

2. 2ème bug un peu plus grave
Je lance excel.
je m'amuse à rentrer la date du cours sans / par exemple. Je CANCEL.
Excel me demande alors de confirmer la date du cours. Je ne confirme pas en disant NO.
Excel plante et me propose le mode DEBUG sur la fonction undo.

Ce n'est pas très grave, mais cela peut intéresser le développeur expérimenté que tu es. Et tu ne pourras pas me reprocher de n'avoir pas beta-testé la macro.

Encore merci pour ton aide précieuse.
Vives salutations,
Mkr
 
Dernier petit bug.

Si je m'amuse à protéger les cellules où l'uitlisateur ne doit pas rentrer de valeur;
toutes les cellules blanches.
Et si je rentre une valeur du cours qui implique la modification du min ou du max, alors excel plante et se met en mode debug sur :
Range('G37') = Range('G35').

Une idée ?

Je te renvoie le fichier protégé peut-être pour que tu comprennes mieux ce bug.

[file name=mkr_def1.zip size=21575]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mkr_def1.zip[/file]
 

Pièces jointes

Attention. Petite erreur de frappe dans message précédent.
'Si je m'amuse à protéger les cellules où l'uitlisateur ne doit pas rentrer de valeur :
toutes les cellules blanches.'
C'est le contraire.
Ce sont les cellules blanches où l'utilisateur peut rentrer des valeurs.
Les cellules NON blanches sont protégées.
 
Re,

Alors c'est super : j'ai 2 beta-testeurs 🙂

Les validations et l'utilisation de change ne font pas bon ménage. Je suis surpris mais c'est ainsi : XL appelle autant de fois Change qu'il y a eu de saisies (erronées et juste).

Pour la protection, je connaissais le problème mais n'avait pas jugé utile de le faire. Maintenant, si tu y tiens, on peut arranger ça très facilement (protection pour l'interface utilisateur seulement).

D'ailleurs, le fichier modifié est joint.

Edition : erreur de fichier, je recommence

A+

Message édité par: Charly2, à: 17/01/2006 11:15
 

Pièces jointes

Salut Charly,

Je ne sais plus quoi dire. Plus de bug !
Tout est corrigé. Tout est parfait !!

Peut-être, juste la cerise sur le gâteau :
pourrais-tu rajouter un bouton reset sur le max et le min, avec demande de confirmation ?
(Ce bouton permettrait de repartir à la date et les valeurs du dernier cours rentré, par exemple).

Si cela t'embête et est trop compliqué, laisse tomber.
En tout cas merci pour tout.
Je t'envoie le dernier fichier en cours de fabrication avec toutes tes solutions.

Amicalement
Mkr
[file name=mkr_last.zip size=23043]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mkr_last.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
508
Réponses
3
Affichages
256
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
521
Retour