evenement si modification du contenu d'une cellule

Le
qeumarh
Bonjour,

je me permet de vous contacter car je planche sur un fichier excel mais je
rencontre quelques problemes. peut etre que vous pourrez me debbuguer.

voila l'objectif. je souhaite que si le contenu d'une cellule est modifié
alors automatiquement le contenu d'une autre cellule soit effacé. cette
derniere cellule permet d'acceder a une liste de choix.

bref, a chaque modification du contenu de la cellule, le choix effectué
auparavent est effacé. c'est une sort de remise a zero, de reset.

je suis parti sur le code suivant. que faut il modifier et/ou rajouter.

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

si vous avez des suggestions, je vous remercie d'avance.

marc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #4868851
Bonsoir,
'----------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a1]) Is Nothing Then [b1].ClearContents
End Sub
'-----------------
Ps: Erreur de syntaxe ici:
Cells("B1").Clearscontents


Salutations
JJ

"qeumarh" news:
Bonjour,

je me permet de vous contacter car je planche sur un fichier excel mais je
rencontre quelques problemes. peut etre que vous pourrez me debbuguer.

voila l'objectif. je souhaite que si le contenu d'une cellule est modifié
alors automatiquement le contenu d'une autre cellule soit effacé. cette
derniere cellule permet d'acceder a une liste de choix.

bref, a chaque modification du contenu de la cellule, le choix effectué
auparavent est effacé. c'est une sort de remise a zero, de reset.

je suis parti sur le code suivant. que faut il modifier et/ou rajouter.

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

si vous avez des suggestions, je vous remercie d'avance.

marc


jps
Le #4868841
bonsoir
plus généralement, tu ne peux pas utiliser Cells("A1") mais Range("A1") ou
(mais uniquement réservé aux cracks style AV ou JJ) [A1]
Cells(1,1) est correct : le premier chiffre représente l'index de la ligne
et le second celui de la colonne, soit A1 puisque la première cellule de la
première colonne)
d'ailleurs, quand tu es dans VBA, tape Cells( et regarde ce que l'aide
intuitive te dit....
jps

"qeumarh" news:
Bonjour,

je me permet de vous contacter car je planche sur un fichier excel mais je
rencontre quelques problemes. peut etre que vous pourrez me debbuguer.

voila l'objectif. je souhaite que si le contenu d'une cellule est modifié
alors automatiquement le contenu d'une autre cellule soit effacé. cette
derniere cellule permet d'acceder a une liste de choix.

bref, a chaque modification du contenu de la cellule, le choix effectué
auparavent est effacé. c'est une sort de remise a zero, de reset.

je suis parti sur le code suivant. que faut il modifier et/ou rajouter.

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

si vous avez des suggestions, je vous remercie d'avance.

marc


Jacky
Le #4868821
Bonsoir JP,
(mais uniquement réservé aux cracks style AV ou JJ) [A1]
Crack JJ ???....AV dirait Pfff...

;o)
C'est vrai que j'aurais pu donner un peu plus d'explication...
Donc, ces trois codes, de syntaxe différente ont exactement la même
résultat:
Si "target" qui est la sélection en cours, (ici la cellule A1), est modifiée
ou effacée alors, la cellule B1 est vidée de son contenu.
"------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing Then [B1].ClearContents
End Sub
"-------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Cells(1, 1)) Is Nothing Then Cells(1,
2).ClearContents
End Sub
"-------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("B1").ClearContents
End Sub
'-------------
Me suis-je bien rattrapé, Président.
JJ (qui va faire dodo)


"jps" e7ryMf$
bonsoir
plus généralement, tu ne peux pas utiliser Cells("A1") mais Range("A1") ou
(mais uniquement réservé aux cracks style AV ou JJ) [A1]
Cells(1,1) est correct : le premier chiffre représente l'index de la ligne
et le second celui de la colonne, soit A1 puisque la première cellule de
la première colonne)
d'ailleurs, quand tu es dans VBA, tape Cells( et regarde ce que l'aide
intuitive te dit....
jps

"qeumarh" news:
Bonjour,

je me permet de vous contacter car je planche sur un fichier excel mais
je
rencontre quelques problemes. peut etre que vous pourrez me debbuguer.

voila l'objectif. je souhaite que si le contenu d'une cellule est modifié
alors automatiquement le contenu d'une autre cellule soit effacé. cette
derniere cellule permet d'acceder a une liste de choix.

bref, a chaque modification du contenu de la cellule, le choix effectué
auparavent est effacé. c'est une sort de remise a zero, de reset.

je suis parti sur le code suivant. que faut il modifier et/ou rajouter.

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

si vous avez des suggestions, je vous remercie d'avance.

marc






jps
Le #4868791
très, très bien, jacky et ainsi le père brossollette ne pourra pas écrire :
degringolavit de brancha in brancham fecitque plouf
jps

"Jacky" Oi8UA8$
Me suis-je bien rattrapé, Président.
JJ (qui va faire dodo)


"jps" e7ryMf$
bonsoir
plus généralement, tu ne peux pas utiliser Cells("A1") mais Range("A1")
ou (mais uniquement réservé aux cracks style AV ou JJ) [A1]
Cells(1,1) est correct : le premier chiffre représente l'index de la
ligne et le second celui de la colonne, soit A1 puisque la première
cellule de la première colonne)
d'ailleurs, quand tu es dans VBA, tape Cells( et regarde ce que l'aide
intuitive te dit....
jps

"qeumarh" news:
Bonjour,

je me permet de vous contacter car je planche sur un fichier excel mais
je
rencontre quelques problemes. peut etre que vous pourrez me debbuguer.

voila l'objectif. je souhaite que si le contenu d'une cellule est
modifié
alors automatiquement le contenu d'une autre cellule soit effacé. cette
derniere cellule permet d'acceder a une liste de choix.

bref, a chaque modification du contenu de la cellule, le choix effectué
auparavent est effacé. c'est une sort de remise a zero, de reset.

je suis parti sur le code suivant. que faut il modifier et/ou rajouter.

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

si vous avez des suggestions, je vous remercie d'avance.

marc










qeumarh
Le #4866671
merci beaucoup d'avoir pris le temps de me repondre.
ca marche nickel.
par contre, ca marche si je modifie le contenu d'une cellule, c'est a dire
si j'inscris par exemple 7 a la place de 3.
dans mon cas, le contenu de la cellule est issue d'une operation. la
modification dans cette cellule se fait automatiquement. moi je n'interviens
pas. dans ce cas, l'effacement de l'autre cellule ne marche pas. que faut il
modifier?

merci encore un fois

marc
Publicité
Poster une réponse
Anonyme