Xcel - Mises en forme conditionnelles illimitées
mauricette007
Messages postés
4
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai bien lu le dernier post sur la mise en forme conditionnelle et le fait d'ajouter une macro pour Excel 2003 et diversifié ainsi le nombre de condition (au-delà de 3).
Toutefois ce que je ne sais pas c'est la procédure complète pour faire marcher la bête.
Je m'explique pour le moment voilà où j'en suis :
1) j'ai un classeur avec trois onglets que j'ai nommé "macrotest"
2) le premier onglet se nomme "MFC"
Dans cette onglet j'ai en colonne A une liste de différentes valeur texte les unes en dessous des autres auquelles j'ai appliquées une couleur de fond différente:
ex: A1=Risque important en rouge
A2=Risque modéré en jaune
A3=Risque inexistant en vert
...J'ai comme cela 23 critères (avec parfois le même fond de couleur qui revient en fonction des cas. Par exemple A10 va aussi être en vert car la cellule contient le mot "Bon". Bref jusque là c'est simple.
3) Je suis allée dans Outil>>Macro>>Visual Basic Editor
J'ai double cliqué sur ThisWorbook
Ensuite j'ai sélectionné Worbook et sheetchange dans les menus déroulants du haut.
4) J'ai copier le code de macro que j'ai trouvé sur internet à savoir cela :
"Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
On Error GoTo fin ' en cas de mauvaise manipulation, ça plante sur l'ordre suivant
Application.EnableEvents = False
Set Ws1 = Sheets("MFC")
For i = 1 To Target.FormatConditions.Count
Set Mfc = Target.FormatConditions(i)
If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
Ws1.Range("A1").Value = Target.Value
Set c = Nothing
For j = 2 To Ws1.Range("A65536").End(xlUp).Row
If Ws1.Range("A" & j) = True Then
Set c = Ws1.Range("A" & j)
Exit For
End If
Next j
If c Is Nothing Then Set c = Ws1.Range("A1")
c.Copy
Target.PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End If
Next i
Application.EnableEvents = True
fin:
On Error GoTo 0
End Sub"
4) Voilà là je ne sais pas ce que je dois faire ensuite (quel bouton appuyer, que faire??)
5) Et pour qu'après cette macro marche bah je ne sais pas non plus quoi faire.
Je vous remercie tous par avance pour vos aides précieuses.
Pour info je n'ai jamais utilisé VBA mais là j'aimerais savoir comment ça marche car j'ai un projet de grand classeur sous excel 2003 avec des mises en forme conditionnelle à réaliser au delà de 3 condition donc pas le choix je suis obligée de passer par là.
Une fois que j'aurai compris sur cette exemple simple je pense être en mesure de le réitérer dans n'importe quel classeur.
Ayez pitié d'une pauvre ignorante...
J'ai bien lu le dernier post sur la mise en forme conditionnelle et le fait d'ajouter une macro pour Excel 2003 et diversifié ainsi le nombre de condition (au-delà de 3).
Toutefois ce que je ne sais pas c'est la procédure complète pour faire marcher la bête.
Je m'explique pour le moment voilà où j'en suis :
1) j'ai un classeur avec trois onglets que j'ai nommé "macrotest"
2) le premier onglet se nomme "MFC"
Dans cette onglet j'ai en colonne A une liste de différentes valeur texte les unes en dessous des autres auquelles j'ai appliquées une couleur de fond différente:
ex: A1=Risque important en rouge
A2=Risque modéré en jaune
A3=Risque inexistant en vert
...J'ai comme cela 23 critères (avec parfois le même fond de couleur qui revient en fonction des cas. Par exemple A10 va aussi être en vert car la cellule contient le mot "Bon". Bref jusque là c'est simple.
3) Je suis allée dans Outil>>Macro>>Visual Basic Editor
J'ai double cliqué sur ThisWorbook
Ensuite j'ai sélectionné Worbook et sheetchange dans les menus déroulants du haut.
4) J'ai copier le code de macro que j'ai trouvé sur internet à savoir cela :
"Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
On Error GoTo fin ' en cas de mauvaise manipulation, ça plante sur l'ordre suivant
Application.EnableEvents = False
Set Ws1 = Sheets("MFC")
For i = 1 To Target.FormatConditions.Count
Set Mfc = Target.FormatConditions(i)
If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
Ws1.Range("A1").Value = Target.Value
Set c = Nothing
For j = 2 To Ws1.Range("A65536").End(xlUp).Row
If Ws1.Range("A" & j) = True Then
Set c = Ws1.Range("A" & j)
Exit For
End If
Next j
If c Is Nothing Then Set c = Ws1.Range("A1")
c.Copy
Target.PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End If
Next i
Application.EnableEvents = True
fin:
On Error GoTo 0
End Sub"
4) Voilà là je ne sais pas ce que je dois faire ensuite (quel bouton appuyer, que faire??)
5) Et pour qu'après cette macro marche bah je ne sais pas non plus quoi faire.
Je vous remercie tous par avance pour vos aides précieuses.
Pour info je n'ai jamais utilisé VBA mais là j'aimerais savoir comment ça marche car j'ai un projet de grand classeur sous excel 2003 avec des mises en forme conditionnelle à réaliser au delà de 3 condition donc pas le choix je suis obligée de passer par là.
Une fois que j'aurai compris sur cette exemple simple je pense être en mesure de le réitérer dans n'importe quel classeur.
Ayez pitié d'une pauvre ignorante...
A voir également:
- Xcel - Mises en forme conditionnelles illimitées
- Mise en forme conditionnelle excel - Guide
- Mise en forme tableau word - Guide
- Mise en forme tableau croisé dynamique - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Mise en forme whatsapp - Guide
7 réponses
Bonjour,
Il vous manque la mfc de votre zone de cellules a colorier avec la formule =MA_MFC
Appliquer une mfc uniquement aux cellules contenant:
valeur de cellule egale a =MA_MFC
sur ce site vous avez un classeur (un peu plus complique) a telecharger, sur l'onglet MFC il y a toutes les explications:
http://www.mdf-xlpages.com/modules/TDMDownloads/singlefile.php?lid=21&com_id=268&com_rootid=268&cid=11&#comment268
A+
Il vous manque la mfc de votre zone de cellules a colorier avec la formule =MA_MFC
Appliquer une mfc uniquement aux cellules contenant:
valeur de cellule egale a =MA_MFC
sur ce site vous avez un classeur (un peu plus complique) a telecharger, sur l'onglet MFC il y a toutes les explications:
http://www.mdf-xlpages.com/modules/TDMDownloads/singlefile.php?lid=21&com_id=268&com_rootid=268&cid=11&#comment268
A+
Bonjour,
Merci de m'avoir répondu.
Alors pour l'explication que vous donnez par contre je ne vous suis pas car dans mon deuxième onglet, je marque un mot sur lequel j'applique la mfc en faisant valeur de cellule egale a = MA_MFC mais ça ne marche pas.
Je pense que le problème est ailleurs.
Je vais aller faire un tour sur votre lien.
A+
Merci de m'avoir répondu.
Alors pour l'explication que vous donnez par contre je ne vous suis pas car dans mon deuxième onglet, je marque un mot sur lequel j'applique la mfc en faisant valeur de cellule egale a = MA_MFC mais ça ne marche pas.
Je pense que le problème est ailleurs.
Je vais aller faire un tour sur votre lien.
A+
Re,
=MA_MFC avec le signe = et sans espace
Vous pouvez mettre votre fichier a dispo (si pas de contre-indication de confidentamite) sur https://www.cjoint.com/
=MA_MFC avec le signe = et sans espace
Vous pouvez mettre votre fichier a dispo (si pas de contre-indication de confidentamite) sur https://www.cjoint.com/
Oui oui j'ai essayé sans l'espace en majuscule en minuscule la formule est égal à la cellule est égale à et rien n'y fait ça ne marche pas...
mais merci pour le coup de main tout de même
Byebye
mais merci pour le coup de main tout de même
Byebye
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si vous parlez de ce lien là:
http://www.mdf-xlpages.com/modules/TDMDownloads/singlefile.php?lid=21&com_id=268&com_rootid=268&cid=11comment268
en fait je l'ai déjà téléchargé hier soir mais je n'y arrive pas pour autant
je suis vraiment une croquette
http://www.mdf-xlpages.com/modules/TDMDownloads/singlefile.php?lid=21&com_id=268&com_rootid=268&cid=11comment268
en fait je l'ai déjà téléchargé hier soir mais je n'y arrive pas pour autant
je suis vraiment une croquette
Re,
Oui, c'est ce ficher.
je réitère ma proposition:
Vous pouvez mettre votre fichier a dispo (si pas de contre-indication de confidentialite ou en le modifiant) sur https://www.cjoint.com/
Oui, c'est ce ficher.
je réitère ma proposition:
Vous pouvez mettre votre fichier a dispo (si pas de contre-indication de confidentialite ou en le modifiant) sur https://www.cjoint.com/