- Changer couleur de fond si modification dans une cellule
- Changer dns - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Suivi de modification word - Guide
- Somme si couleur - Guide
10 réponses
31 oct. 2022 à 20:24
Bonjour
Possible avec macro
Cdlmnt
Bonjour CCM81,
Merci pour votre réponse. Auriez vous une idée de codes ? Je ne vois pas trop comment l'écrire ? Et surtout comme les cellules n'auront pas le même texte dans chaque cellule, comment peut il d'avoir qu'il y a eu une modification ?
Merci pour votre aide
Amicalement
Modifié le 1 nov. 2022 à 11:54
Bonjour
Le code est dans le module de la feuille à traiter (Alt-F11 pour y accéder)
https://www.cjoint.com/c/LKbk2a1zPtB
Cdlmnt
Bonjour CCM81, Franchement c'est génial et merci pour le temps et le fichier. La seule petite différence c'est que mon fichier au départ contient déjà une information, elle n'est pas vide. C'est la modification de la donnée qui transforme le remplissage de fond. Je n'ai pas réussi à modifier le code pour qu'ils correspondent à mon besoin. Je vous envoie mon fichier si vous avez encore un peu de temps à accorder à mon souci ? (Onglet 31 10 2022) https://www.cjoint.com/c/LKbmHeqSVqv Encore merci pour votre aide Amicalement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour CCM81, Un grand merci et désolé pour mon précédant message. Ca fonctionne super bien sauf que quand je reprends le code dans mon fichier ça ne fonctionne pas ? Je vous le mets ci dessous au cas ou vous aurie un peu de temps à m'accorder (Onglet 31 10 2022) c'est l'exemple. Et pour précision, je souhaiterais que ça fonctionne sur plusieurs feuilles si possible ? https://www.cjoint.com/c/LKbmHeqSVqv Encore un super grand merci pour votre aide et pour le temps déjà accordé et celui que vous pourrez y consacrer Amicalement
1 nov. 2022 à 14:07
1. La seule petite différence c'est que mon fichier au départ contient déjà une information, elle n'est pas vide. C'est la modification de la donnée qui transforme le remplissage de fond.
Pas d'importance, j'ai eu la flemme de remplir la plage (ou je n'ai pas compris ta question)
2. Pour intégrer le code
Clic-droit sur l'onglet de la feuille à traiter / Visualiser le code / Copier tout le code / Modifier la plage concernée
Const plage = "A1:P75"
3. Fichier / Enregistrer sous / Type .xlsm (... prenant en charge les macros)
RQ1. Je ne te renvoie pas ton fichier, j'ai un vieil excel 2003 et le convertisseur 2007>2003 lui fait prendre beaucoup de volume.
RQ2. La macro va s'appliquer aussi aux cellules en bleu.
RQ3. Code modifié pour prendre en compte les cellules fusionnées (rarement une bonne idée, surtout s'il y a des macros à l'oeuvre)
Option Explicit Const plage = "A1:P75" Dim a Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Not Intersect(Target, Range(plage)) Is Nothing Then If Target.Cells(1, 1).Value <> a Then Target.Interior.ColorIndex = xlNone End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(plage)) Is Nothing Then a = Target.Cells(1, 1).Value End If End Sub
Cdlmnt
FORMIDABLEEEEEEEEEEEEE c'est parfait. Et merci pour l'information pour ajouter le code, je ne savais pas qu'on pouvait l'ajouter à chaque onglet ainsi. Effectivement erreur de débutant pour l'enregistrement bien penser à mettre prendre en charge les macros :-) Pour les cellules bleues aucun souci c'est pas changé être modifiée Encore merci pour tout :-)
FORMIDABLEEEEEEEEEEEEE c'est parfait. Et merci pour l'information pour ajouter le code, je ne savais pas qu'on pouvait l'ajouter à chaque onglet ainsi. Effectivement erreur de débutant pour l'enregistrement bien penser à mettre prendre en charge les macros :-) Pour les cellules bleues aucun souci c'est pas changé être modifiée Encore merci pour tout :-)
1 nov. 2022 à 15:12
Et pour ne pas appliquer le traitement aux cellules non-jaunes
Option Explicit Const plage = "A1:P75" Const jaune = 6 Dim a Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Interior.ColorIndex <> jaune Then Exit Sub If Not Intersect(Target, Range(plage)) Is Nothing Then If Target.Cells(1, 1).Value <> a Then Target.Interior.ColorIndex = xlNone End If End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(plage)) Is Nothing Then a = Target.Cells(1, 1).Value End If End Sub
Cdlmnt
Modifié le 1 nov. 2022 à 15:39
je ne savais pas qu'on pouvait l'ajouter à chaque onglet ainsi
Pas prévu ça ! Si tu veux appliquer la macro à chacun des onglets, inutile de copier le code dans chacun des modules de feuilles. Il te faut placer le code (un peu modifié) dans le module du Workbook
Option Explicit Const plage = "A1:P100" Const jaune = 6 Dim a Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Target.Count > 1 Then Exit Sub If Target.Interior.ColorIndex <> jaune Then Exit Sub If Not Intersect(Target, Range(plage)) Is Nothing Then If Target.Cells(1, 1).Value <> a Then Target.Interior.ColorIndex = xlNone End If End Sub Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) If Not Intersect(Target, Range(plage)) Is Nothing Then a = Target.Cells(1, 1).Value End If End Sub
voir et exemple
https://www.cjoint.com/c/LKboDCbfnPB
Cdlmnt