Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro pour effacer une couleur (motifs) et pas les autres

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

pascal21

XLDnaute Barbatruc
bonsoir
ces deux macros me permettent: pour la première de griser la cellule
pour la deuxième, de d'effacer la couleur de la cellule le lendemain
(oui je sais, c'est bizard )
en fait la couleur grise (motifs petits points) me signale si j'ai transmis au chauffeur ses ordres
le lendemain je n'ai plus besoin de l'info dans cette cellule
je souhaiterais n'effacer que la couleur (motifs) de cette macro car j'ai d'autres couleurs que je souhaite garder
donc ça devrait donner quelque chose comme
si la cellule contient
.ColorIndex = 0 .Pattern = xlGray8
.PatternColorIndex = xlAutomatic
alors effacer ce fond sinon passe ton chemin la macro lol!!
pouvez m'aider merci
 
Re : macro pour effacer une couleur (motifs) et pas les autres

Bonsoir Pascal,

Teste ce code :

Code:
With ActiveCell.Interior 'cellule à adapter
If .ColorIndex = -4105 And .Pattern = xlGray8 And .PatternColorIndex = -4105 _
  Then .ColorIndex = xlNone
End With
A+
 
Re : macro pour effacer une couleur (motifs) et pas les autres

bonjour job
oui merci, le code fonctionne tel quel
mais comment faire pour l'intégrer dans la deuxième macro
j'ai fais ça mais j'ai une erreur référence incorrecte ou non qualifiée avec le mot Pattern surligné
 
Re : macro pour effacer une couleur (motifs) et pas les autres

Re,

Apparemment c'est de la plage d.Offset(, 1).Resize(3, 10) que tu veux effacer les motifs :

Code:
Sub efface_couleur_ordre_transmis() 'efface la couleur de la macro ordre donné
Dim d As Range, c As Range
For Each d In Range("A6:a1200")
  If d <> "" Then
    If d + 1 < Date Then 'variable nombre de jours
      For Each c In d.Offset(, 1).Resize(3, 10)
        If c.ColorIndex = -4105 And c.Pattern = xlGray8 And _
          c.PatternColorIndex = -4105 Then c.ColorIndex = xlNone
      Next
    End If
  End If
Next d
End Sub
A+
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
524
Réponses
9
Affichages
600
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
872
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…