pb avec Worksheet_Change

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 ??
 
M

mkr

Guest
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

  • change_20060115003755.zip
    6.5 KB · Affichages: 16
M

mkr

Guest
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
 

Charly2

Nous a quittés en 2006
Repose en paix
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

  • mkr_changeV2.zip
    8.9 KB · Affichages: 19
M

mkr

Guest
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

  • mkr_changeV3.zip
    9.1 KB · Affichages: 15
M

mkr

Guest
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

  • def_mkr.zip
    14.5 KB · Affichages: 20

Charly2

Nous a quittés en 2006
Repose en paix
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

  • mkr_def.zip
    23.7 KB · Affichages: 26

mkr

XLDnaute Nouveau
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
 

mkr

XLDnaute Nouveau
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

  • mkr_def1.zip
    21.1 KB · Affichages: 20

mkr

XLDnaute Nouveau
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.
 

Charly2

Nous a quittés en 2006
Repose en paix
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

  • mkr_change_20060117032221.zip
    8.5 KB · Affichages: 14

Charly2

Nous a quittés en 2006
Repose en paix
Re,

Je viens de m'apercevoir que je m'étais trompé de fichier ! Voici le dernier en date :

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

A+
 

Pièces jointes

  • mkr_def_20060117112501.zip
    24.9 KB · Affichages: 21
M

mkr

Guest
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

  • mkr_last.zip
    22.5 KB · Affichages: 18

Discussions similaires

Réponses
1
Affichages
264

Statistiques des forums

Discussions
312 453
Messages
2 088 550
Membres
103 881
dernier inscrit
malbousquet