couleur de fond si...

  • Initiateur de la discussion Initiateur de la discussion Pierre
  • 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 !

P

Pierre

Guest
Bonjour à tous le forum.

Voilà j'ai code qui lorsque une cellule est complétée dans la colonne 1 pose une question. Si la réponse est 'oui' j'aimerais que ma cellule ou ma ligne soit coloriée en rouge ou jaune, mais je n'y parviens pas.

Voilà mon code :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
If Target <> '' Then
Range('a65536').End(xlUp).Select
vréponse = MsgBox('LA FAMILLE A-T-ELLE ATTEINT LE PLAFOND ?', vbYesNo)
If vreponse = vbYes Then
ActiveCell.Select.Interior.ColorIndex = 3
Else: Exit Sub
End If
End If
End If
End Sub

Qui pourrait me donner un petit coup de pouce ??

Merci beaucoup
 
Bonjour (Ca change de mon traditionnel Hello !!! lol)

Normal pierre que ca ne marche pas. Tu ne peux pas passer deux arguments en même temps sur Activecell !!

Essaie ca ca va mieux marcher :

Code:
With Activecell
.select
.Interior.ColorIndex = 3
End with

Sauf erreur de ma part, tu n'as pas besoin du .Select. En effet tu demande une action sur la cellule active, donc la cellule séléctionnée.

enfin plutôt que :
Code:
If Target.Column = 1 Then
If Target <> '' Then

Je ferrais ca : If Target.Column = 1 AND Target <> '' Then
Tu ganges un IF

suis-je claire ?

++

Creepy
 
Bonjour pierre, le forum

Pierre, tu as deux synthaxes différentes pour vréponses(vreponse), corrige ton code comme ceci :

If vréponse = vbYes Then
Target.Interior.ColorIndex = 3

je comprend pas l'utilité de ce code : Range('a65536').End(xlUp).Select

salut

oups, SALUT creepy 🙂

Message édité par: Hervé, à: 23/06/2005 13:53
 
Salut,

Voici ton code modifié, attention aux accents, c'est important dans VBA

Un conseil: dans VBA / Outils / option / et coche 'déclaration des variables obligatoires, cela te mettera en évidence tes fautes de frappe lorsque tu auras déclaré tes variables avec 'Dim mavar as ...'

Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim vréponse
If Target.Column = 1 Then
If Target <> '' Then
Range('a65536').End(xlUp).Select
vréponse = MsgBox('LA FAMILLE A-T-ELLE ATTEINT LE PLAFOND ?', vbYesNo)
If vréponse = vbYes Then
ActiveCell.Interior.ColorIndex = 3
Else: Exit Sub
End If
End If
End If
End Sub

A+

Message édité par: jeromegmc, à: 24/06/2005 08:59
 
Merci à tous pour vos réponses mais, hélas, après avoir cliqué 'oui', ma cellule ne se colore toujours pas. je ne sais vraiment pas quoi essayer.

Merci encore pour votre aide ; ci-joint le code légèrement modifié :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 And Target <> '' Then
Range('a65536').End(xlUp).Select
vréponse = MsgBox('LA FAMILLE A-T-ELLE ATTEINT LE PLAFOND ?', vbYesNo)
If vreponse = vbYes Then
Target.Interior.ColorIndex = 3
Else: Exit Sub
End If
End If
End Sub
 
Bonjour


Ton code est ok a part une différence dans le nom de ta variable.:
Code:
vréponse = MsgBox('LA FAMILLE A-T-ELLE ATTEINT LE PLAFOND ?', vbYesNo)
If vreponse = vbYes Then

vreponse & vréponse

a+

J'abandonne pour la journée, ça fait 2 fois que je me fais clancher ! 🙂

Message édité par: Hellboy, à: 23/06/2005 14:16
 
- 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
4
Affichages
519
Réponses
14
Affichages
699
Réponses
3
Affichages
642
Retour