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.
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.
La formule donne FAUX. Là n'est pas le problème. J'ai certainement mal adapter la formule "=NON(MOD(SOMME(N($B$2:$B2<>$B$3:$B3));2))" dans ma macro.
Je tiens à rappeller que je débute en VBA. Et je vous prie de m'aider.
Merci
La formule donne FAUX. Là n'est pas le problème. J'ai certainement mal adapter la formule "=NON(MOD(SOMME(N($B$2:$B2<>$B$3:$B3));2))" dans ma macro.
Je tiens à rappeller que je débute en VBA. Et je vous prie de m'aider.
Merci
Je n'ai jamais écrit que c'était la solution
Mais l'usage veut qu'on Dim DerLigne ou DL as Long
Pour revenir à ta macro
J'ai fait ces autres petits changements
(car là aussi la coutume veut qu'on évite les Select, Selection et autre Activate)
VB:
Sub new_line2()
Dim DL As Long
DL = Sheets("Tabelle1").Cells(Application.Rows.Count, 2).End(xlUp).Row + 1
Rows("3:3").Insert Shift:=xlDown: Rows("3:3").ClearFormats
With Sheets("Tabelle1").Range("B3:F" & DL)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=NON(MOD(SOMME(N($B3:$B3<>$B4:$B4));2))"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
.FormatConditions(1).Interior.TintAndShade = 0.799981688894314
.FormatConditions(1).StopIfTrue = False
End With
End Sub
Je n'ai jamais écrit que c'était la solution
Mais l'usage veut qu'on Dim DerLigne ou DL as Long
Pour revenir à ta macro
J'ai fait ces autres petits changements
(car là aussi la coutume veut qu'on évite les Select, Selection et autre Activate)
VB:
Sub new_line2()
Dim DL As Long
DL = Sheets("Tabelle1").Cells(Application.Rows.Count, 2).End(xlUp).Row + 1
Rows("3:3").Insert Shift:=xlDown: Rows("3:3").ClearFormats
With Sheets("Tabelle1").Range("B3:F" & DL)
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=NON(MOD(SOMME(N($B3:$B3<>$B4:$B4));2))"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).Interior.ThemeColor = xlThemeColorAccent2
.FormatConditions(1).Interior.TintAndShade = 0.799981688894314
.FormatConditions(1).StopIfTrue = False
End With
End Sub