Mise en forme conditionnelle : critères sur une seconde page

CQ06

XLDnaute Nouveau
Bonjour,
je travaille dans une boite de transport routier, et on affiche nos prévisions de planning hebdomadaire sur excel.
On a donc nos tournées positionnées dans notre tableau, et j'essaye aujourd'hui d'automatiser ce tableau par rapport à la mise en forme des noms de tournées.
J'ai donc 3 listes de tournées dans une deuxième feuille, les tournées qui doivent s'afficher en BLEU, celle en ROUGE et celles en VERT.
J'aimerais que sur ma première feuille, celle du planning hebdo, la mise en forme se fasse automatiquement par rapport à cette deuxième feuille.
J'utilisais jusqu'à présent des mises en forme conditionnelles que je créé pour chaque tournée. Mais avec une bonne centaine de tournées, en se perd dans la liste des MFC alors que je suis certains que l'on pourrait tout simplement créer une seule MFC par couleur, cette MFC contiendrait la liste de toutes les tournées BLEU, une autre MFC pour reconnaître les ROUGES etc.

Pour récapituler :

J'ai une feuille avec les planning de nos camions sur la semaine.
Ce planning est rempli par nos différentes tournées.

J'aimerais que ces noms de tournées soient reconnus, afin d'être mis en forme.
Pour faciliter et automatiser le travail, j'aimerais que les MFC se basent directement sur une deuxième feuille sur laquelle j'ai listé en 3 colonnes, mes 3 types de tournées, les bleues, les rouges et les vertes.

D'avance, merci.

Cordialement.
 

Tibo

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

Une autre approche :

subdiviser chaque colonne en 2

Une colonne où on pourrait mettre un x et l'autre où il y aurait le nom de la tournée.

Resterait à définir quelle MFC on applique quand il y a un x

Ça fait un peu de boulot, mais tu es sous Excel 2007, donc pas de souci pour le nombre de colonnes.

@+
 

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

Salut Tibo

Pour rester dans la même idée de Tibo, une chose simple à faire qui ne touche en rien vos MFC déjà réalisées, c'est le dédoublement de la colonne, puis juste avec un double clic cela ajoute un X, seule la colonne de gauche (après dédoublement ne peut être concernée par cela).
L'avantage: simple à mettre en oeuvre, pas la peine de modifier les cellules contenant le texte, réversible, et en plus vous avez toujours vos MFC qui définissent vos tournées, en aucun cas vous modifiez le code.
L'inconvéniant: En cas d'ajout de ligne pour vos chauffeurs, il faut augmenter la plage, mais je pense que cela peut être résolue par des plages dynamique.

Le code n'est pas de moi il est de Robert et que je remercie.
 

Pièces jointes

  • tournée piga25.xlsm
    58 KB · Affichages: 54

CQ06

XLDnaute Nouveau
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour messieurs.

J'ai bien compris votre solution, mais je pense que l'on risque d'avoir un problème au niveau de la visibilité.
On a autant de colonne que de demi journée par semaine. Soit déjà 14 colonnes. On rajoute 1 pour le nom du chauffeur, 1 pour son tracteur, 1 autre encore pour son numéro de semi... Entre chaque journée, on a aussi 1 autre colonne avec le numéro d'ensemble si le chauffeur n'a pas de camion attitré (et donc un ensemble différent presque chaque jour). 3 autres colonnes à la fin du tableau pour les Mines tracteur, Remorque et les visites médicales. Avec donc 21 colonnes, ça risque de coincer donc si l'on rajoute cette case, surtout si elle ne fait pas vraiment ce que l'on veut (à savoir colorer le fond du nom d'une tournée).
On a les tableaux sur 3 écrans plats au mur, et on a déjà du mal à voir toute la largeur du tableau. Et on a déjà bien retravaillé les largeurs pour que tout rentre.

Cordialement. Cyril.
 

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

Une autre solution sans changer le nombre de colonnes et en gardant vos MFC.
Par double clic on change la couleur de la police dans la cellule concernée.
 

Pièces jointes

  • tournée piga25 ex2.xlsm
    51.1 KB · Affichages: 57
  • tournée piga25 ex2.xlsm
    51.1 KB · Affichages: 50
  • tournée piga25 ex2.xlsm
    51.1 KB · Affichages: 57

CQ06

XLDnaute Nouveau
Re : Mise en forme conditionnelle : critères sur une seconde page

Ah, ça, c'est une super solution !
Par contre, qu'est ce que je dois modifier dans la Macro juste pour faire l'inverse : Changer le fond de la cellule, pas la couleur du texte ? Et peut-être de le faire en 3 cliques, histoire de pouvoir toucher au contenu de la cellule avec le double clique ?

Si c'est faisable, c'est parfait !
Merci et bonne soirée !
 
Dernière édition:

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

Il ne sera pas possible d changer la couleur de fond car la mise en forme conditionnelle prend le dessus. Par contre il doit être possible de modifier le "Pattern" et la sa couleur. Le Pattern est le motif associé à la couleur de remplissage (hachures, lignes, points ...).
Il est possible de modifier uniquement ce qui n'est pas pris en compte par mise en forme conditionnelle.
 

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Re

Un exemple de ce qui est possible de faire en modifiant le Pattern :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim pl As Range 'déclare la variable pl (Plage)
Set pl = Range("plage") 'définit la plage pl
'si la sélection est multiple ou si test est vrai, sort de la procédure
If Selection.Cells.Count > 1 = True Then Exit Sub
'si le double-clic a lieu ailleurs que dans la plage pl, sort de la procédure
If Selection.Cells.Value = "" = True Then Exit Sub
'Si le double clic à lieu dans une cellule vide dans la pl, sort de la procédure
If Application.Intersect(Target, pl) Is Nothing Then Exit Sub
Cancel = True 'annule le mode édition lié au double-clic
Select Case Target.Font.ColorIndex
    Case xlAutomatic
    'En ne changeant pas la couleur de la police, cela permet toujours d'avoir la possibilité du double clic
        Target.Font.ColorIndex = 1 'change la couleur de la police (1 = noir)
        Target.Interior.Pattern = xlGray50 'Met les point (50 = 50% de points)
        Target.Interior.PatternColorIndex = 1 'est la couleur des points
        Target.Interior.TintAndShade = -1 'trois possibilités (-1 ; 0 ; 1) Clair - neutre - foncé
        Target.Interior.PatternTintAndShade = 1 'idem
        
    Case 1 '(ici c'est la couleur de la police qui a été changer qu'il faut mentionner)
        Target.Font.ColorIndex = xlAutomatic 'remet la couleur en automatic
        Target.Interior.Pattern = xlAutomatic 'idem
        Target.Interior.PatternColorIndex = xlAutomatic 'idem
        Target.Interior.TintAndShade = 0 ' remet à neutre
        Target.Interior.PatternTintAndShade = 0 ' remet à neutre
        
End Select
Cancel = True
End Sub
 

Pièces jointes

  • tournée piga25 ex2.xlsm
    54.1 KB · Affichages: 37
  • tournée piga25 ex2.xlsm
    54.1 KB · Affichages: 54
  • tournée piga25 ex2.xlsm
    54.1 KB · Affichages: 49

CQ06

XLDnaute Nouveau
Re : Mise en forme conditionnelle : critères sur une seconde page

Re-bonjour.
Juste, où dois-je mettre ces lignes de code ?
Et étant donné que le fond des mes cellules sont blancs, le remplissage se verra-t-il ?

Bonne journée !
 

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

S'agissant de : Private Sub Worksheet_BeforeDoubleClick (Worsheet est la feuille). Donc le code se met dans la feuille et comme cela il n'affectera que cette feuille par le double clic.
Clic droit sur la feuille (onglet feuille en bas) puis visualiser le code.
Dans l'exemple de mon dernier post il est en place.
 

piga25

XLDnaute Barbatruc
Re : Mise en forme conditionnelle : critères sur une seconde page

Bonjour,

Il faut définir la valeur de la plage. Pour cela selectionner toutes les cellules qui doivent être concernées par le double clic, puis nommé les "Plage".
Par exemple selectionner les cellules = E4:R60
Onglet FORMULE puis définir un nom : Mettre le nom "Plage" puis la selection des cellules concernées.
 

Statistiques des forums

Discussions
312 239
Messages
2 086 511
Membres
103 239
dernier inscrit
wari