Excel-VBA - Macro s’exécutant sans mise en forme conditionnelle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

excelfresh

XLDnaute Nouveau
Bonjour!
J’ai un problème avec une macro qui s’exécute sans application de la mise en forme conditionnelle.
Pouvez-vous m’aider à adapter la formule suivante dans mon code ?
"=NON(MOD(SOMME(N($B$2:$B2<>$B$3:$B3));2))"
La macro l’inscrit bien dans la formule de MFC. Mais rien ne se passe.
Lorsqu’on exécute la macro, enregistre le fichier et le ferme. À la réouverture du fichier, La MFC s’applique bien.
J’aimerai qu’elle s’applique directement après la validation du bouton <<Nvlle Ligne>>.
Aidez-moi, je vous en prie.
 

Pièces jointes

Re

@excelfresh
1) On se sait toujours ce que tu cherches à faire avec ta formule
(marquer des doublons peut-être?)

2) je ne sais pas ce que tu penses de ma version "light"
(je ne parle pas de la formule)
mais du reste de la macro, est-ce que ma version newline2 produit les même effets que newline ?

3) Pourquoi n'utilises-tu pas la fonctionnalité Tableau ?
(ListObject)
 
Re

@excelfresh
1) On se sait toujours ce que tu cherches à faire avec ta formule
(marquer des doublons peut-être?)

2) je ne sais pas ce que tu penses de ma version "light"
(je ne parle pas de la formule)
mais du reste de la macro, est-ce que ma version newline2 produit les même effets que newline ?

3) Pourquoi n'utilises-tu pas la fonctionnalité Tableau ?
(ListObject)
A l'intérieur du tableau je souhaiterais que dès qu'il y a changement de valeur en colonne B, la couleur de remplissage des lignes change, alternativement, un coup sans remplissage, un coup orange clair, ainsi de suite. D'où la formule "=NON(MOD(SOMME(N($B$2:$B2<>$B$3:$B3));2))" dans la macro. Et j'aimerais aussi ajouter des lignes à ce tableau par le haut (ligne3).
Merci
A+
 
Re

Dans ce cas, utilises la fonctionnalité Tableau
Le changement de couleur se fait automatiquement 😉
Je te laisse découvrir ce dont je parle avec cette vidéo
https://support.office.com/fr-fr/ar...rmations-1c3d9852-4b0b-4496-a1fc-30c5121fb05e

PS: je précise que je n'ai pas de lien particulier avec Microsoft
Je viens juste de faire un G..gl..g 😉
Merci pour la vidéo. Elle ne m'aide pas.
Dans mon tableau, les lignes ayant les valeurs identiques qui se suivent en colonne B doivent avoir le même remplissage. Du coup on porrait avoir 2 lignes avec sans remplissage, ensuite 3 lignes avec un remplissage orange clair, ensuite une ligne sans remplissage, ensuite 2 lignes avec un remplissage orange clair.
En fait le remplissage du tableau doit dépandre des valeurs en colonne B
 
Re

Alors pour qu'on finisse par avancer
joins un nouveau fichier exemple mais avec deux onglets
•le premier étant la situation initiale (de départ donc)
•le second onglet étant le résultat à obtenir après l'insertion d'une ligne
(donc mettre en forme manuellement sur l'onglet ce qu'on doit obtenir après l’exécution de la macro)
 
Re

Alors pour qu'on finisse par avancer
joins un nouveau fichier exemple mais avec deux onglets
•le premier étant la situation initiale (de départ donc)
•le second onglet étant le résultat à obtenir après l'insertion d'une ligne
(donc mettre en forme manuellement sur l'onglet ce qu'on doit obtenir après l’exécution de la macro)
Ci-Joint un nouveau fichier
Merci
a+
 

Pièces jointes

Re

Une nouvelle macro
(LA formule s'adapte aprés l'insertion d'une ligne)
VB:
Sub new_line3()
Dim DL&, DB&
DL = Sheets("Tabelle1").Cells(Application.Rows.Count, 2).End(xlUp).Row + 1
Range("B3:F3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
DB = Range("B2").End(xlDown).Row
Formule = "=NON(MOD(SOMME(N($B" & DB & ":$B" & DB & "<>$B" & DB + 1 & ":$B" & DB + 1 & "));2))"
With Sheets("Tabelle1").Range("B" & DB & ":F" & DL)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=Formule
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
.FormatConditions(1).Interior.TintAndShade = 0.799981688894314
.FormatConditions(1).StopIfTrue = False
End With
End Sub
 
Re

Une nouvelle macro
(LA formule s'adapte aprés l'insertion d'une ligne)
VB:
Sub new_line3()
Dim DL&, DB&
DL = Sheets("Tabelle1").Cells(Application.Rows.Count, 2).End(xlUp).Row + 1
Range("B3:F3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
DB = Range("B2").End(xlDown).Row
Formule = "=NON(MOD(SOMME(N($B" & DB & ":$B" & DB & "<>$B" & DB + 1 & ":$B" & DB + 1 & "));2))"
With Sheets("Tabelle1").Range("B" & DB & ":F" & DL)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:=Formule
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
.FormatConditions(1).Interior.TintAndShade = 0.799981688894314
.FormatConditions(1).StopIfTrue = False
End With
End Sub
Merci!
Mais votre code a un petit souci. Assayez d'ajouter deux lignes de suite et vous verrez.
 

Pièces jointes

Re

Les petits soucis sont de bon augure.
Cela permets de remettre l'ouvrage sur le métier 😉
Je teste des bouts de code.
Je les propose au demandeur pour qu'il les teste à son tour.

Depuis le début tu dis que ta formule n'a pas de problème.

Je fais donc ma macro avec ce postulat de base.
 
Dernière édition:
Re

Les petits soucis sont de bonne augure.
Cela permets de remettre l'ouvrage sur le métier 😉
Je teste des bouts de code.
Je les propose au demandeur pour qu'il les teste à son tour.

Depuis le début tu dis que ta formule n'a pas de problème.

Je fais donc ma macro avec ce postulat de base.
Essayez svp de placer la formule de facon manuelle dans la MFC. Vous verrez ensuite que la formule est bonne.
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
515
Retour