VBA excel Comment mettre les formules et les formats en VBA dans la boite mise e

[Résolu]
Signaler
Messages postés
5
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
3 mars 2006
-
Messages postés
5
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
3 mars 2006
-
Bonsoir à soir à tous,

Je suis novice en VBA et je ne sais pas comment écrire les lignes pour
mettre les formules et les formats dans la boite se saisie de mise en
forme conditionnelle à partir de VBA. Quand je le fais à partir de
l'enregistreur automatique, ma macro reste vide.

j'ai bien trouvé sur le site 3 lignes avec les valeurs, mais elles ne
fonctionnent pas pour les formules.les lignes que j'ai trouvées sont
les suivantes :


Selection.FormatConditions.Delete

Selection.FormatConditions.Add Type:= xlCellValue, Operator:=xlGreater, Formula1:="10"

Selection.FormatConditions(1).Interior.ColorIndex = 3











Dans mon cas pour la 2ème ligne, j'écris :


Selection.FormatConditions.Add Type: =xlCellValue, Operator:=xlGreater, Formula1:="="jemets ma formule ici""
Un grand merci à tous



pouy

5 réponses

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
rebonjour

tu peux essayer

.FormatConditions(1).Interior.Pattern = xlGrid
.FormatConditions(1).Interior.PatternColorIndex = 41

bonne journée
michel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
bonjour

tu peux essayer ce type de synthaxe :
exemple pour appliquer une formule à la mise en forme conditionnelle de la cellule A1 (colorier la cellule A1 si elle n'est pas vide)

With Range("A1")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="=NON(ESTVIDE(A1))"
.FormatConditions(1).Interior.ColorIndex = 3
End With

bonne journée
michel
Messages postés
5
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
3 mars 2006

bonjour michelxld

Je voudrais tout d'abord te remercier pour ton aide.
J'ai éssayé ta ligne pour la formule et elle fonctionne c'est en fait le type qui n'était pas bon, avec le type :=xlExpression elle fonctionne trés bien. Une petite question supplémentaire la partie verte fonctionne mais la partie rouge ne fonctionne pas.

j'ai essayé aussi avec devant le point de format de mettre :
selection.FormatConditions(1).Pattern = xlGrid, je crois que je fais quelque chose qui faut pas.

With Range("A1")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="=ET(P$11>=$J13;P$11<$J13+($K13-$J13+1)*$L13%)"
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions(1).Pattern = xlGrid
.FormatConditions(1).PatternColorIndex = 41
End With

Je suis vraiement pas bon !
merci beaucoup.
pouy
Messages postés
5
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
3 mars 2006

bonjour michelxld

Je voudrais tout d'abord te remercier pour ton aide.
J'ai éssayé ta ligne pour la formule et elle fonctionne c'est en fait le type qui n'était pas bon, avec le type :=xlExpression elle fonctionne trés bien. Une petite question supplémentaire la partie verte fonctionne mais la partie rouge ne fonctionne pas.

j'ai essayé aussi avec devant le point de format de mettre :
selection.FormatConditions(1).Pattern = xlGrid, je crois que je fais quelque chose qui faut pas.

With Range("A1")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="=ET(P$11>=$J13;P$11<$J13+($K13-$J13+1)*$L13%)"
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions(1).Pattern = xlGrid
.FormatConditions(1).PatternColorIndex = 41
End With

Je suis vraiement pas bon !
merci beaucoup.
pouy
Messages postés
5
Date d'inscription
mercredi 17 août 2005
Statut
Membre
Dernière intervention
3 mars 2006

Rebonjour Michel,
Je te remercie pour ton aide elle m'a était trés précieuse, tu es vraiement un As. Le module fonctionne trés bien.

Quand on connait pas c'est vraiement diffice d'autant plus que je ne sais pas me servir de la bibliothèque l'explorateur d'objet, je sais qu'il possible d'appeler une fonction et d'avoir la liste des objets qui vont avec.
Je vais essayer de trouver de la doc pour pouvoir l'utiliser.
Merci de tout coeur et à bientôt.

Je joins mon module dans le cas ou il intèresse quelqu'un.

Sub Format_Conditionnel_avec_Formule()




With ActiveCell.Range("A1:BC1").Select


Selection.FormatConditions.Delete'Nettoyage des formats et des champs de boite Format conditionnel


'Pour le format 1


Selection.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="= « Remplacer ce texte par votre formule » "


Selection.FormatConditions(1).Interior.PatternColorIndex = 41'Couleur Bleu du motif


Selection.FormatConditions(1).Interior.Pattern = xlGrid'motif quadrillage


'Pour le format 2


Selection.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="= « Remplacer ce texte par votre formule » "


Selection.FormatConditions(2).Interior.ColorIndex = 41'CouleurBleu plein de la cellule


'Pour le format 3


Selection.FormatConditions.Add Type:=xlExpression, Operator:=xlGreater, Formula1:="= « Remplacer ce texte par votre formule » "


Selection.FormatConditions(3).Interior.ColorIndex = 15 'Couleur Gris clair plein de la cellule


End With
End Sub

christian

pouy