Comment revenir à ma couleur d'origine? Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
a
al87
Membre dévoué
Membre dévoué
Messages : 680
Inscrit le : 6 février 2013
Version d'Excel : 2003

Message par al87 » 20 novembre 2018, 12:45

Bonjour le forum
Si je tape stage par exemple à la place de toto dans des cellules colonnes H et I ça met Stage en rose
Si je me suis trompé et que je veuille revenir à ce qu'il y avait à l'origine toto je voudrais que mes cellules redeviennent en jaune clair = 36
Voici ma macro
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then End
    If Not Application.Intersect(Target, Range("H5:I39")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Application.EnableEvents = False
            Target = WorksheetFunction.Proper(Target)
            Target.Interior.ColorIndex = 7
           Target.HorizontalAlignment = xlCenterAcrossSelection          'ModeCentrage

            Application.EnableEvents = True
        End If
    Else
    End If
End Sub
Merci à vous pour vos éventuels retours
Cordialement
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'140
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 20 novembre 2018, 12:57

Salut Al
Salut le Forum,
Si je tape stage par exemple à la place de toto dans des cellules colonnes H et I ça met Stage en rose
Alors sauf erreur de ma part, tu met n'importe quoi dans une cellule et sa va le mettre en Rose (Stage ou pas Stage) :p

Bref! Pour répondre à ta question, avec le code ci-dessous, si tu met "toto" dans une cellule, alors celle-ci passe au jaune :

Édit : Code modifié pour prendre en compte les majuscules / minuscules
If Target.Value = "Toto" or Target.Value = "toto" Then Target.Interior.ColorIndex = 36
Tu le rajoute juste après cette ligne :
Target.HorizontalAlignment = xlCenterAcrossSelection
Restant à dispo
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
a
al87
Membre dévoué
Membre dévoué
Messages : 680
Inscrit le : 6 février 2013
Version d'Excel : 2003

Message par al87 » 20 novembre 2018, 13:02

Bonjour Juice
Merci à toi
Ça fonctionne mais ce n'est pas toujours toto
Peut-être lui faire mettre blanc?
Cordialement
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'140
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 20 novembre 2018, 14:14

Re-

Ton code modifié :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then End
    If Not Application.Intersect(Target, Range("H5:I39")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Application.EnableEvents = False
            Target = WorksheetFunction.Proper(Target)
            Target.HorizontalAlignment = xlCenterAcrossSelection          'ModeCentrage
            If Target.Value = "stage" Or Target.Value = "Stage" Then
                Target.Interior.ColorIndex = 7
                ElseIf Target.Value = "toto" Or Target.Value = "Toto" Then Target.Interior.ColorIndex = 36
                Else: Target.Interior.Pattern = xlNone
            End If
            Application.EnableEvents = True
        End If
    End If
End Sub
Si tu rentre le mot "Stage" dans une cellule, alors la cellule devient violette
Si tu rentre le mot "Toto" dans une cellule, alors la cellule devient jaune
Si tu rentre n'importe quelle autre mot que ceux ci-dessus, alors la cellule n'a aucun remplissage

Restant à ta dispo
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
a
al87
Membre dévoué
Membre dévoué
Messages : 680
Inscrit le : 6 février 2013
Version d'Excel : 2003

Message par al87 » 20 novembre 2018, 14:47

Re Juice
Ça fonctionne sauf que ça doit toujours revenir jaune (36) et non aucun remplissage.
Après c'est bon
Merci à toi
Bien cordialement
Avatar du membre
Juice
Membre impliqué
Membre impliqué
Messages : 1'140
Appréciations reçues : 102
Inscrit le : 28 novembre 2017
Version d'Excel : Microsoft Excel 2010

Message par Juice » 20 novembre 2018, 15:41

Ça fonctionne mais ce n'est pas toujours toto
Peut-être lui faire mettre blanc?
Tu me dit blanc, je te fais blanc :p

Ci-dessous ton code modifié :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then End
    If Not Application.Intersect(Target, Range("H5:I39")) Is Nothing Then
        If Not IsEmpty(Target) Then
            Application.EnableEvents = False
            Target = WorksheetFunction.Proper(Target)
            Target.HorizontalAlignment = xlCenterAcrossSelection          'ModeCentrage
            If Target.Value = "stage" Or Target.Value = "Stage" Then Target.Interior.ColorIndex = 7
            If Target.Value <> "stage" And Target.Value <> "Stage" Then Target.Interior.ColorIndex = 36
        End If
        Application.EnableEvents = True
    End If
End Sub
Si Stage alors violet
Sinon jaune !

Restant à ta dispo !
Dans l'incapacité de continuer à vous aidez sur vos fichiers, je vous prie de bien vouloir m'excuser et vous invite à ouvrir un nouveau sujet pour reprendre vos problèmes avec un membre actif du Forum.

En espérant revenir très vite :)
a
al87
Membre dévoué
Membre dévoué
Messages : 680
Inscrit le : 6 février 2013
Version d'Excel : 2003

Message par al87 » 20 novembre 2018, 17:39

Re Juice
Super c'est ce que je voulais
Mal expliqué? Comme d'hab!!!
Merci et bonne fin de soirée à toi et au forum
Cordialement
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message