adaptation d' une macro qui colorie auto

almas

XLDnaute Occasionnel
Bonjour le forum

j 'utilise une macro qui colorie des cellules en fonction d' une légende.

Mais j 'ai un tableau dans lequel j 'aimerai également appliquer cette action .

Seulement je n 'écrit pas manuellement dans les cellules ,cela provient d 'un calcul

Donc j 'aimerai adapter , si cela est possible, pour que ma macro puisse lire les textes et appliquer la couleur en fonction après que les calculs se soit fait.
Par l intermédiaire d 'un bouton par exemple ou encore mieux a la fin des calculs en auto ^^

je vous joint un exemple du tableau (j'ai enlever les formules) avec le code qui marche manuellement

merci d 'avance

le code manuel:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim temoin As Boolean
Dim Ref As Variant
If Not Intersect(Target, Range("C6:AG100")) Is Nothing And Target.Count = 1 And Not temoin Then
temoin = True
Target.Interior.ColorIndex = xlNone
For Each Ref In Sheets("Feuil1").Range("AI10:AI27")
If UCase(Target.Value) = UCase(Ref.Value) Then
Target.Interior.ColorIndex = Ref.Interior.ColorIndex
End If
Next Ref
temoin = False
End If

End Sub
 

Pièces jointes

  • test couleurs1.xls
    39 KB · Affichages: 31

almas

XLDnaute Occasionnel
Re : adaptation d' une macro qui colorie auto

après recherche de ma part, plutôt que lire les textes activer les cellule ou il y a du texte lance la macro et donc met la bonne couleur
donc je me dit qu 'un code qui activerai les cellules pourrai régler mon problème

Maintenant ce que je cherche à faire n 'est peut être pas réalisable, merci de me le dire aussi que je change de direction :)
 

Modeste

XLDnaute Barbatruc
Re : adaptation d' une macro qui colorie auto

Bonsoir almas,

Si tu ne changes pas toi-même les valeurs, mais que ce sont des formules qui actualisent ces valeurs, il me semble que tu peux utiliser l'événement Worksheet_Calculate, plutôt que Worksheet_Change

... mais comme tu as retiré les formules de ton fichier exemple, on ne peut pas tester et vérifier. :) Une bonne partie du code actuel devrait pouvoir être réutilisée.
Dis-nous si tu as besoin d'un coup de main (et, si c'est le cas, un petit extrait du fichier, avec des formules serait le bienvenu)
 

ROGER2327

XLDnaute Barbatruc
Re : adaptation d' une macro qui colorie auto

Bonjour à tous.


Peut-être voir du côté d'un truc comme ça ?​
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim temoin As Boolean
    Dim Ref As Variant
    Dim Dep As Range
    Dim Cel As Range
    If Not Intersect(Target, Range("C6:AG100")) Is Nothing And Target.Count = 1 And Not temoin Then
        temoin = True
        On Error Resume Next
        Set Dep = Target.Dependents.Cells
        Dep.Interior.ColorIndex = xlNone
        On Error GoTo 0
        Target.Interior.ColorIndex = xlNone
        For Each Ref In Sheets("Feuil1").Range("AI10:AI27").Cells
            If UCase(Target.Value) = UCase(Ref.Value) Then
                Target.Interior.ColorIndex = Ref.Interior.ColorIndex
            End If
            If Not Dep Is Nothing Then
                For Each Cel In Dep
                    If UCase(Cel.Value) = UCase(Ref.Value) Then
                        Cel.Interior.ColorIndex = Ref.Interior.ColorIndex
                    End If
                Next Cel
            End If
        Next Ref
        temoin = False
    End If
    
End Sub
(Pour une fois, je n'ai pas testé...)​


Bonne journée.


ℝOGER2327
#7840


Mercredi 25 Clinamen 142 (Exit Saint Goya, alchimiste - fête Suprême Quarte)
27 Germinal An CCXXIII, 0,4225h - anémone
2015-W16-4T01:00:50Z
 

almas

XLDnaute Occasionnel
Re : adaptation d' une macro qui colorie auto

Bonjour le forum

Merci modeste et Roger d' avoir regardé mon problème

Modeste=> j 'ai essayé de ta solution("Private Sub Worksheet_Calculate()") mais j 'ai un blocage sur :"If Not Intersect(Target, Range("C6:AG100")) Is Nothing And Target.Count = 1 And Not temoin Then temoin = True"
J'ai pas trouver si c 'est le temoin qui gene ou si c 'est a la déclaration de la macro

Roger=> j 'ai essayer ton code mais rien ne se passe ???
si j 'ai bien compris tu testais chaque cellule pour voir si elle correspondais a un noms de la légende puis tu lui applique la couleur?
 

Modeste

XLDnaute Barbatruc
Re : adaptation d' une macro qui colorie auto

Bonjour almas,
Salut Roger :)

Quand je disais qu'une partie du code était récupérable, il faut quand même adapter (pas de variable nommée Target dans le Worksheet_Calculate())
Dans un second temps, je n'ai pas compris à quoi servait la variable "témoin" et je me suis dit que j'avais sans doute mal compris, pour ne pas changer.

... Ce que j'avais en-tête au départ, figure ci-dessous. Tu verras si ça correspond (ou pas :confused:)
VB:
Private Sub Worksheet_Calculate()

For Each c In [C6:AG35]
On Error Resume Next
lig = Application.Match(c, [AI10:AI27], 0)
If lig = 0 Then
    c.Interior.ColorIndex = xlNone
Else
    c.Interior.Color = [AI10].Offset(lig - 1, 0).Interior.Color
End If
lig = 0
Next c

End Sub
Il y aura peut-être ... sans doute ... vraisemblablement ... certainement des ajustements à faire ou contrôles à ajouter (mais vois déjà si ça fonctionne et, si oui, si ça convient!)
Comme précisé dans mon premier message, un extrait avec des formules aurait été le bienvenu ... je n'ai donc pas pu tester!
 

almas

XLDnaute Occasionnel
Re : adaptation d' une macro qui colorie auto

la grande classe modeste! :cool:ca marche parfaitement:)

je vais monter un petit exemple avec formules que je posterai car cela pourrai intéresser d 'autres utilisateurs du forum

je posterai ça demain matin
 

almas

XLDnaute Occasionnel
Re : adaptation d' une macro qui colorie auto

Bonjour le forum

Voila, je vous poste un classeur exemple qui pourrai servir à d 'autres de base pour leur propres classeurs.

Il s’agit donc d 'un planning colorisé automatique en fonction d' une date de départ et de données saisies dans des onglets références.

La formule va chercher la donnée en fonction de la date et le code colorie la case en fonction de la légende.

Tout ce fait automatiquement après avoir saisie la date de départ

un Grand merci à modeste et rogers qui sont toujours la pour nous rendre service:D

ps: les textes sont bien présent dans le planning , ils sont juste effacés avec les " 3 ; " dans le format de la cellule
 

Pièces jointes

  • exemple couleur auto apres calcul.xls
    221 KB · Affichages: 29
Dernière édition:

Discussions similaires

Réponses
7
Affichages
334

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025