Evènement "Change"

  • Initiateur de la discussion Picu
  • Date de début
P

Picu

Guest
Bonjour au forum,

je tente de mettre en place l'évènement suivant sur une feuille, hélas lorsque je rentre une valeur dans une cellule contenant une formule, je me retrouve toujours avec la formule mais pas la valeur.

qu'est ce qui ne marche pas dans mon code ? je suis largué !

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.HasFormula = True Then
With Target.Interior
.ColorIndex = 15
End With
Else
With Target.Interior
.ColorIndex = 35
End With
End If
End Sub

Merci par avance.
Picu
 
P

Pascal76

Guest
SAlut

Je comprends pas trop ta phrase "lorsque je rentre une valeur dans une cellule contenant une formule, je me retrouve toujours avec la formule mais pas la valeur."

Ton code que tu peux simplifier comme ci-dessous fonctionne; il colorie d'une couleur si dans une cellule il se trouve une formule et d'une autre couleur s'il n'y a pas de formule

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.HasFormula = True Then
Target.Interior.ColorIndex = 15
Else
Target.Interior.ColorIndex = 35
End If
End Sub

Bon courage

Pascal
 
P

Picu

Guest
Merci à toi Pascal76

Je te joins un fichier pour illustrer mon propos.
Tu verras que quand tu saisis une donnée à la place d'une formule, la modif ne se fait pas.

Merci pour ton aide.

@+
Picu
 

Pièces jointes

  • Change.zip
    6.8 KB · Affichages: 22
  • Change.zip
    6.8 KB · Affichages: 20
  • Change.zip
    6.8 KB · Affichages: 22
P

Pascal76

Guest
Re

Soit plus claire dans ta formulation "Tu verras que quand tu saisis une donnée à la place d'une formule, la modif ne se fait pas"

Si à la place de =E7 par exemple je tape un nombre il me colorie ma cellule.

Alors le problème ne vient pas de là mais peut-être que je ne comprends pas ta question.

Ton HasFormula regarde s'il y a une formule; donc si ta cellule contient une formule, même si celle-ci te renvoie un nombre, il considère que c'est une formule.

A Bientôt

Pascal
 
P

Picu

Guest
Re

Effectivement, "si à la place de =E7 par exemple je tape un nombre il me colorie ma cellule"

Mais dans ma cellule, il me reste =E7 et pas le nombre X que j'ai tapé. Mais moi je veux pas garder =E7. Je veux mon nombre X.

J'espère avoir été plus clair.

Merci pour l'aide.

@+
 
P

Pascal76

Guest
Bah oui et non car quand je tape en F7 à la place de =E7 un nombre exemple 55 il me garde 55 je te renvoie ton fichier et tu verras.

Pascal
 

Pièces jointes

  • Change.zip
    6.3 KB · Affichages: 14
  • Change.zip
    6.3 KB · Affichages: 20
  • Change.zip
    6.3 KB · Affichages: 15
P

Picu

Guest
Ben moi j'en perds mon latin ou plutôt mon VBA.

Je dois avoir un truc qui merdoit avec mon EXCEL : "esprit de Bill Gates sort de mon EXCEL"......!!!!!!!!!!

Merci à toi Pascal76.
C'était sympa.

@+ le forum
 

Statistiques des forums

Discussions
312 715
Messages
2 091 282
Membres
104 833
dernier inscrit
Alex1214