Code pour un format conditionnel ?

Le
LANIMAL
Bonjour,
J'ai établi le code ci-dessous à partir d'un enregistrement de macro en
coordonnées RELATIVES, sur la cellule N3 (1ère ligne de formules).
-
Range("N" & PremLigne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N3;10)<>DROITE(A3;10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3
-
où l'expression de condition s'écrit en coordonnées absolues.
Je ne suis pas arrivé à écrire la condition en coordonnées relatives.
J'ai essayé, sans succès, de l'écrire en FormulaR1C1 avec RC ou OFFSET
probablement erreur de syntaxe ?
Merci d'avance à mon "dépanneur".
Michel LANIMAL
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #6712611
Bonsour® LANIMAL avec ferveur ;o))) vous nous disiez :

Bonjour,
J'ai établi le code ci-dessous à partir d'un enregistrement de macro
en coordonnées RELATIVES, sur la cellule N3 (1ère ligne de formules).
-------------------------------------
Range("N" & PremLigne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N3;10)<>DROITE(A3;10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3
-------------------------------------
où l'expression de condition s'écrit en coordonnées absolues.
Je ne suis pas arrivé à écrire la condition en coordonnées relatives.


le code cidessus est en coordonnées relatives complétes

en absolu ce serait :
="=DROITE($N$3;10)<>DROITE($A$3;10)"
quelles que soient les lignes ou colonnes cibles la condition fera toujour référence à N3 et A3

maintenant si tu ne veux que seulement la ligne soit relative alors
:="=DROITE($N3;10)<>DROITE($A3;10)"
la condition s'adaptera pour les lignes
en :
="=DROITE($N4;10)<>DROITE($A4;10)"
="=DROITE($N5;10)<>DROITE($A5;10)"
etc...

pour les colonnes en relatives
:="=DROITE(N$3;10)<>DROITE(A$3;10)"
la condition s'adaptera pour les colonnes
en :
="=DROITE(P$3;10)<>DROITE(C$3;10)"
="=DROITE(Q$3;10)<>DROITE(D$3;10)"
etc ...

--
--
@+
;o)))

LANIMAL
Le #6712601
Bonsoir Modeste,
Oui, merci, je suis clair sur ce que tu me dis, mais contrairement à
cette règle, ça ne marche pas pour une condition de format conditionnel.
A savoir, lorsque j'applique le code sur une autre ligne (ex N4 ou N5),
la condition s'écrit toujours =DROITE(N3;10)<>DROITE(A3;10).
Alors, ch'comprends pas !

Bonsour® LANIMAL avec ferveur ;o))) vous nous disiez :

Bonjour,
J'ai établi le code ci-dessous à partir d'un enregistrement de macro
en coordonnées RELATIVES, sur la cellule N3 (1ère ligne de formules).
-------------------------------------
Range("N" & PremLigne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N3;10)<>DROITE(A3;10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3
-------------------------------------
où l'expression de condition s'écrit en coordonnées absolues.
Je ne suis pas arrivé à écrire la condition en coordonnées relatives.


le code cidessus est en coordonnées relatives complétes

en absolu ce serait :
="=DROITE($N$3;10)<>DROITE($A$3;10)"
quelles que soient les lignes ou colonnes cibles la condition fera toujour référence à N3 et A3

maintenant si tu ne veux que seulement la ligne soit relative alors
:="=DROITE($N3;10)<>DROITE($A3;10)"
la condition s'adaptera pour les lignes
en :
="=DROITE($N4;10)<>DROITE($A4;10)"
="=DROITE($N5;10)<>DROITE($A5;10)"
etc...

pour les colonnes en relatives
:="=DROITE(N$3;10)<>DROITE(A$3;10)"
la condition s'adaptera pour les colonnes
en :
="=DROITE(P$3;10)<>DROITE(C$3;10)"
="=DROITE(Q$3;10)<>DROITE(D$3;10)"
etc ...




Modeste
Le #6712591
Bonsour® LANIMAL avec ferveur ;o))) vous nous disiez :

Bonjour,
J'ai établi le code ci-dessous à partir d'un enregistrement de macro
en coordonnées RELATIVES, sur la cellule N3 (1ère ligne de formules).
-------------------------------------
Range("N" & PremLigne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N3;10)<>DROITE(A3;10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3
-------------------------------------
Je ne suis pas arrivé à écrire la condition en coordonnées relatives.


ou bien encore...
mais ai-je mal interprété
Range("N" & premligne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N" & premligne & ";10)<>DROITE(A" & premligne & ";10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3

--
--
@+
;o)))

LANIMAL
Le #6713071
Re-bonsoir
Ben, bien sûr, tu as raison, pourquoi n'y ai-je pas pensé ? ! !
Par contre je n'aurais certainement pas placé les guillemets
correctement du premier coup, oubliant que la formule doit être écrite
en texte (excepté la variable, bien sûr).
Merci beaucoup, bonne soirée.
Michel LANIMAL


Bonsour® LANIMAL avec ferveur ;o))) vous nous disiez :

Bonjour,
J'ai établi le code ci-dessous à partir d'un enregistrement de macro
en coordonnées RELATIVES, sur la cellule N3 (1ère ligne de formules).
-------------------------------------
Range("N" & PremLigne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N3;10)<>DROITE(A3;10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3
-------------------------------------
Je ne suis pas arrivé à écrire la condition en coordonnées relatives.


ou bien encore...
mais ai-je mal interprété
Range("N" & premligne).Select
Selection.Font.ColorIndex = 48
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, _
Formula1:="=DROITE(N" & premligne & ";10)<>DROITE(A" & premligne & ";10)"
Selection.FormatConditions(1).Font.Bold = True
Selection.FormatConditions(1).Interior.ColorIndex = 3




Publicité
Poster une réponse
Anonyme