MFC supérieur à 3 conditions avec Excel 2003

chris63

XLDnaute Nouveau
Bonjour à tous,
Je ne suis pas un spécialiste en VBA mais j'essaye depuis plusieurs jours de trouver une solution pour mettre en forme un fichier avec 3 onglets (INFORMATIONS, SYNTHESE et Notes). En effet, je souhaite mettre en forme mon tableau Excel 2003 et colorier certaines cellules en fonction de la valeur inscrite. J'ai joint le fichier excel qui me pose souci.
J'ai essayé avec une macro xla que j'ai trouvé via le forum (CFPlus.xla), j'arrive à faire fonctionner mon fichier Excel et les actualisations se font correctement. Par contre, quand je le transfère à un collègue, il ne fonctionne car la macro n'est pas "installable" sur son poste de travail (pb de droit d’administrateur).
Ce que je cherche à faire (mais je n'y arrive pas) :
- en fonction de la valeur inscrite (1 à 10), dans les cellules ($c$7:$l$66) des deux onglets INFORMATIONS et SYNTHESE, je souhaiterais que la cellule soit coloriée en rouge (valeurs 1 à 3), en jaune (valeurs 4 à 6), bleu (valeurs 7 et 8) et vert (valeurs 9 et 10) via une macro VBA intégrée au fichier Excel 2003 afin qu'il puisse être utilisé par d'autres personnes.
Merci d'avance de votre aide. Bonne journée. Cordialement,
 

Pièces jointes

  • ESSAI MFC.xls
    84.5 KB · Affichages: 42
  • ESSAI MFC.xls
    84.5 KB · Affichages: 45
  • ESSAI MFC.xls
    84.5 KB · Affichages: 45

chris63

XLDnaute Nouveau
Re : MFC supérieur à 3 conditions avec Excel 2003

Re-bonjour,
Avec mes excuses.
En PJ, le fichier non bloqué par mdp.
Merci.
 

Pièces jointes

  • ESSAI MFC.xls
    84.5 KB · Affichages: 47
  • ESSAI MFC.xls
    84.5 KB · Affichages: 46
  • ESSAI MFC.xls
    84.5 KB · Affichages: 46

Dugenou

XLDnaute Barbatruc
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour,
Une première solution avant d'ouvrir ton fichier : il n'y a que 4 couleurs à afficher. La MFC limite à 3 couleurs mais la couleur par défaut peut être une quatrième !
Les cellules en question peuvent-elles ne rien contenir (ou une valeur 0) et si oui : est-il acceptable que la couleur soit une des 4 couleurs que tu utilises ?
Sinon, il y a une petite macro de boisgontier qui fonctionne très bien. Il y en a aussi une de MDF mais cela fait assez longtemps que je ne l'ai pas utilisée.
Cordialement

en pj un exemple de l'utilisation de la macro de boisgontier à adapter à ton cas
 

Pièces jointes

  • Diane mfc multi.xls
    37 KB · Affichages: 43
  • Diane mfc multi.xls
    37 KB · Affichages: 49
  • Diane mfc multi.xls
    37 KB · Affichages: 51
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour à tous,

un code qui fonctionne pour la feuille "Informations"
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
For Each cellule In Range(Cells(Target.Row, 3), Cells(Target.Row, 12))
If cellule = "" Then
cellule.Interior.Color = xlNone
Else
cellule.Interior.Color = Cells(6, cellule.Column).Interior.Color
End If
Next cellule
Application.ScreenUpdating = True
End Sub
à+
Philippe
 

Pièces jointes

  • 111.xls
    103.5 KB · Affichages: 54
  • 111.xls
    103.5 KB · Affichages: 51
  • 111.xls
    103.5 KB · Affichages: 49

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : MFC supérieur à 3 conditions avec Excel 2003

Re,

une petite amélioration:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B7:B" & Range("B65535").End(xlUp).Row)) Is Nothing Then
Application.ScreenUpdating = False
For Each cellule In Range(Cells(Target.Row, 3), Cells(Target.Row, 12))
If cellule = "" Then
cellule.Interior.Color = xlNone
Else
cellule.Interior.Color = Cells(6, cellule.Column).Interior.Color
End If
Next cellule
End If
Application.ScreenUpdating = True
End Sub
à+
Philippe
 

chris63

XLDnaute Nouveau
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour,
Dans mon fichier, il n'y a que 4 couleurs.
Cependant, lorsqu'il n'y a pas de chiffre, je souhaite que cette cellule soit sans aucune couleur. Ce qui revient en quelque sorte à créer une 5ème couleur.
Il ne peut y avoir qu'1 seul chiffre par ligne (exemple : sur ligne C7 à L7, je peux avoir une seule valeur de 1 à 10 ou aucune valeur).
Les cellules en question ($C$7:$L$66) peuvent rien contenir. Au mieux, j'ai une valeur par ligne (qui correspond à l'attribution d'une note de 1 à 10).
Je viens d'ouvrir ton fichier, dans l'onglet "essai" qd je supprime un nom de la liste, la cellule conserve la couleur précédente et ne repasse pas au blanc.
Je pense que le mieux c'est d'ouvrir mon fichier Excel 2003 pour avoir une idée de mon besoin.
Merci d'avance.
Cordialement,
 

chris63

XLDnaute Nouveau
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour,
Je viens d'ouvrir ton fichier. Effectivement, le mode de sélection des couleurs fonctionne bien en fonction de la valeur tapée.
Par contre, serait-il possible de faire disparaître les couleurs qui restent dans les cellules ($C$7:$L$66) lorsque je supprime les valeurs de la colonne B (voir fichier joint avec couleur qui reste) ?
Merci d'avance.
Cordialement,
 

Pièces jointes

  • 111 (1).xls
    103 KB · Affichages: 47
  • 111 (1).xls
    103 KB · Affichages: 48
  • 111 (1).xls
    103 KB · Affichages: 39

Dugenou

XLDnaute Barbatruc
Re : MFC supérieur à 3 conditions avec Excel 2003

Re,
Puisque tu demandes une macro vba, je pensais que tu saurai la lire et adapter.
Je te fais un fichier à partir du tien dès que j'ai un moment.
Cordialement
dans la pj on repasse au blanc quand on enlève une valeur
 

Pièces jointes

  • Demo mfc multi.xls
    35.5 KB · Affichages: 43

Dugenou

XLDnaute Barbatruc
Re : MFC supérieur à 3 conditions avec Excel 2003

Re,
Je te prie de m'excuser : la méthode utilisée dans mon fichier démo ne peut pas fonctionner dans le tien puisque ce n'est pas la cellule renseignée qu'il faut colorier mais une autre cellule sur la ligne.
La macro de philippe me semble fonctionner comme souhaité.
Cordialement
 

chris63

XLDnaute Nouveau
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour Philippe,
J'ai inséré ta macro VBA dans le fichier 111 v4.xls.
Pour le coloriage des cellules en fonction des valeurs inscrites : pas de pb, ça fonctionne sauf pour certaines lignes (les lignes de synthèse : 7, 18...).
Cependant, j'ai un petit souci car lorsque je supprime la valeur reprise en colonne B (onglet "INFORMATIONS"), j'ai la ligne qui reste en bleu ciel. Elle devrait devenir théoriquement en blanc (car aucune information).
De même, les lignes de synthèse (7, 18, 30, 34...) de l'onglet "INFORMATIONS" ne se colorient jamais en fonction de la valeur inscrite (qui est une moyenne), sais-tu pourquoi ?
Merci d'avance.
Cordialement,
 

Pièces jointes

  • 111 v4.xls
    104.5 KB · Affichages: 42

chris63

XLDnaute Nouveau
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour,
J'ai essayé la 2ème macro de Philippe, mais je n'arrive pas à la faire fonctionner.
Je pense que je n'ai pas été clair dans l'expression de mon besoin. Je joins un fichier xls qui reprend le montage que j'ai engagé.
Cependant, je bute sur la colorisation des cellules en fonction de la valeur inscrite dans cette cellule.
Etant un amateur dans ce domaine, je te remercie de ton aide.
Cordialement,
 

Pièces jointes

  • ESSAI MFC v2.xls
    97.5 KB · Affichages: 46

kjin

XLDnaute Barbatruc
Re : MFC supérieur à 3 conditions avec Excel 2003

Bonjour,
J'ai nommé la plage A1:A10 de la feuille note ''couleurs"
Pour la feuille informations
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim couleur As Range, c As Range
Set couleur = Sheets("Note").Range("couleurs")
For Each c In Target.Dependents
    If c.Column > 2 And c.Column < 13 Then
        x = Application.Match(c.Value, couleur, 0)
        If IsError(x) Then
            c.Interior.ColorIndex = xlNone
        Else
            c.Interior.ColorIndex = couleur(c).Interior.ColorIndex
        End If
    End If
Next
End Sub
A+
kjin
 

Discussions similaires

Réponses
3
Affichages
174
Réponses
5
Affichages
121

Statistiques des forums

Discussions
312 392
Messages
2 088 003
Membres
103 692
dernier inscrit
H.saidani