changement de valeur d'une cellule entrainant evenement

QEUMARH

XLDnaute Nouveau
Re bonjour,

j'aimerai dans le cas d'une modification de la valeur d'une cellule, effacer le contenu d'une autre cellule. voila un debut de code. que faut il modifier et/ou rajouter.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a
Dim b
a = 0
b = 0
a = Range("A1").Value
If a <> b Then
Range("B1").ClearContents
End If
End Sub

merci
marc
 

dixit

XLDnaute Impliqué
Re : changement de valeur d'une cellule entrainant evenement

bonjour,
il faudrait au moins tester où le changement a eu lieu
target.address donne l'adresse la cellule changée sous la forme $A$1 (pour A1)
target.row donne le n° de la ligne de la cellule changée
target.column pour le n° de la colonne
la comparaison a et b ne sert à rien dans ton exemple si b=0
en plus la valeur de b sera toujours à mise à 0 par la sub.
je ne comprends pas bien la comparaison.
 

JCGL

XLDnaute Barbatruc
Re : changement de valeur d'une cellule entrainant evenement

Re,

Dernière intervention, de ma part, si tu ne déposes pas un fichier avec des exemples de ce tu souhaites

Exemple :

  • 1 si en D1 j'ai 5 si E1 j'ai 5 alors Effacer E1
  • 2 si en D1 j'ai 5 si en E1 j'ai 8 alors Garder E1

A+, peut-être...
 

dixit

XLDnaute Impliqué
Re : changement de valeur d'une cellule entrainant evenement

re
bonjour à tous et à JCGL en particulier,
la sub Worksheet_Change est appelée automatiquement à chaque changement de valeur quelle que soit la cellule concernée ; en général, le but poursuivi est de surveiller une ou quelques cellules donc il faut tester quelle cellule a été changée mais ce n'est pas une obligation.
voir quelques informations et classeurs exemples sur mon site perso rubrique Excel/sous-rubrique VBA
je n'ai pas suivi les posts précédents ; il est donc difficile avec aussi peu d'explications de donner des suggestions bien adaptées ...
 

dixit

XLDnaute Impliqué
Re : changement de valeur d'une cellule entrainant evenement

re
à mon avis, placer b=a après endif ne sert à rien puisque les variables sont déclarées locales (avec Dim)
la chose sera peut-être plus claire avec un classeur exemple
 

JCGL

XLDnaute Barbatruc
Re : changement de valeur d'une cellule entrainant evenement

Re,

Dixit:

la sub Worksheet_Change est appelée automatiquement à chaque changement de valeur quelle que soit la cellule concernée ; en général, le but poursuivi est de surveiller une ou quelques cellules donc il faut tester quelle cellule a été changée mais ce n'est pas une obligation.
voir quelques informations et classeurs exemples sur mon site perso rubrique Excel/sous-rubrique VBA
je n'ai pas suivi les posts précédents ; il est donc difficile avec aussi peu d'explications de donner des suggestions bien adaptées ...

Encore faut-il que l'ami Marc nous donne plus d'explications (voir le le fil désigné par le lien plus haut où nous avons donné quelques cas de figure avec = et <>)

A+
 

QEUMARH

XLDnaute Nouveau
Re : changement de valeur d'une cellule entrainant evenement

bon voila un exemple simplifié.

explications:
A8 : D13 = recapitulatif des matchs avec le score
B1 : B4 = classement en fonction des points
D1 : D4 = si 0 alors pas d'egalité, si 1 egalité
E1 : E4 = possibilité d'une liste si egalité


j'ai mis 2 cas ( le 1er cas est celui du bas, le second cas et celui du haut)

1er cas: il y a egalité entre 3 equipes. on peut utiliser la liste en E17, E19 et E20. mais pas en E18.

je modifie une valeur de la cellule C12 alors on a le 2eme cas.

2eme cas: il n'y a pas d'egalité entre les equipes. on ne peut donc pas utiliser la liste. mais la valeur du choix selectionné au 1er cas est toujours la (E1, E2, E3, E4)

objectif: pouvoir effacer le contenu des cellules E1, E2, E3, E4 s'il y a une modification d'un score.

c'est un peu long. j'espere que c'est a peu pres clair.

encore une fois merci
marc
 

Pièces jointes

  • Classeur1.xls
    25 KB · Affichages: 77
  • Classeur1.xls
    25 KB · Affichages: 81
  • Classeur1.xls
    25 KB · Affichages: 82

QEUMARH

XLDnaute Nouveau
Re : changement de valeur d'une cellule entrainant evenement

slt JCGL

merci pour la rapidité. effectivement quand il n'y a pas d'egalité, le contenu de la cellule (celle ou il y a la liste) est effacé. c'est bien mais quand tu modifies un score pour obtenir une egalité alors ca re-affiche le choix precedent alors qu'il ne devrait rien y avoir.

avec la mise en forme conditionnelle tu ne fait que cacher le contenu de la cellule mais tu ne le supprimes pas.

est ce que c'est possible de faire un reset, une remise a zero des que l'on modifie un score?

marc
 

JCGL

XLDnaute Barbatruc
Re : changement de valeur d'une cellule entrainant evenement

Re,
Salut Marc,

Tout ce que tu dis est vrai , mais il faudra réécrire les formules après effacement par macro, alors qu'avec la MeFC les formules restent en place et ne sont visibles qu'en cas d'égalité.

Je ne connais l'importance, pour toi, de ce fichier mais mon âge me permets de te conseiller d'éviter "les usines à gaz".

Au plaisir de te lire QEUMARH yo !!!
 

Discussions similaires