formule conditionnelle en vba (reglè)

pascal21

XLDnaute Barbatruc
bonsoir à tous
j'aimerais savoir comment écrire une formule conditionnelle en vba
en effet le mfc trditionnel ne comporte que 3 conditions ,ce qui n'est pas suffisant pour ce que je veux faire
donc j'aimerais utiliser la fonction 'formula' pour la colonne F
ex si f3100 ' ' ' vert
valable sur la colonne de f3 à f50
comment faut-il procéder
merci

Message édité par: pascal21, à: 22/04/2006 09:40

Message édité par: pascal21, à: 23/04/2006 14:32
 

Dan

XLDnaute Barbatruc
Re:formule conditionnelle en vba

Bonsoir,

C'est pas les réponses qui manquent sur ce forum à ce sujet.
En faisant quelques recherches avec 'format conditionnel' tu devrais trouver pleins de fils qui parlent de cela.

Voilà tout de même un fil ouvert il y a quelques jours -> Lien supprimé.

;)
 

pascal21

XLDnaute Barbatruc
Re:formule conditionnelle en vba

bonsoir Dan et merci d'avoir bien voulu répondre j'ai suivi le fil que tu m'as donné mais pas facile d'adapter à mon classeur
je joint donc un bout de fichier avec les expplications dedans [file name=Classeur4_20060421220037.zip size=11717]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur4_20060421220037.zip[/file]
 

Pièces jointes

  • Classeur4_20060421220037.zip
    11.4 KB · Affichages: 16

Marc_du_78

XLDnaute Accro
Re:formule conditionnelle en vba

Bonjour pascal, Dan,
veux-tu faire un essai car je dois malheureusement partir.

Sub Mfc_Change()
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''w'';SI(L7>250;VRAI))'
Selection.FormatConditions(1).Interior.ColorIndex = 3

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''w'';SI(L7>200;VRAI))'
Selection.FormatConditions(2).Interior.ColorIndex = 44

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''w'';SI(L7<200;VRAI))'
Selection.FormatConditions(3).Interior.ColorIndex = 4

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''t'';SI(L7<200;VRAI))'
Selection.FormatConditions(3).Interior.ColorIndex = 5 'A modifier

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''v'';SI(L7<200;VRAI))'
Selection.FormatConditions(3).Interior.ColorIndex = 6 'A modifier

Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
'=SI(GAUCHE(B7;1)=''l'';SI(L7<200;VRAI))'
Selection.FormatConditions(3).Interior.ColorIndex = 7 'A modifier
End Sub

Bon Week end
 

pascal21

XLDnaute Barbatruc
Re:formule conditionnelle en vba

bonjour marc
je pense que tu as oublié quelque chose
en effet on ne voit nul part dans ton code quelle cellule doit se coloriée
ensuite ça ne fait référence qu'a la ligne 7 alors que j'espérais que ce que soit valable sur toute la colonne F
merci de t'être penché sur mon souci
 

JCGL

XLDnaute Barbatruc
Re:formule conditionnelle en vba

Bonjour à Tous,


Ce lien n'existe plus


Je te conseille vivement le MFC de mDF :

Tu dépose le code dans ThisWorkBook

Tu te crées un table sur deux colonnes :

en A : tes valeurs
en B : ta mise en forme souhaitée

Sur la feuille concernée par la MFC : tu mets en condition1 : =mDF

Et c'est tout...

Que du bonheur et encore MERCI à Didier ;-)

Message édité par: JCGL, à: 22/04/2006 18:21
 

Temjeh

XLDnaute Accro
Supporter XLD
Re:formule conditionnelle en vba

Salut pascal
Bonjour le forum

Hier j'ai travaillé 1h30 sur ton prob sans vraiment de grosses idées.

Voici en vba une idée mais je ne sais pas quoi changer pour la mettre dans selectionchange car il sélecte toujour la cell F7.
Sub Macro3()
If Left(Range('F7'), 1) = 'w' And Range('L7') > 250 Then
Range('F7').Select
Selection.Interior.ColorIndex = 3
Else
If Left(Range('F7'), 1) = 'w' And Range('L7') > 200 Then
Range('F7').Select
Selection.Interior.ColorIndex = 44
Else
If Left(Range('F7'), 1) = 'w' And Range('L7') 250 Then
Range('F7').Select
Selection.Interior.ColorIndex = 3
Else
If Left(Range('F7'), 1) = 't' And Range('L7') > 200 Then
Range('F7').Select
Selection.Interior.ColorIndex = 44
Else
If Left(Range('F7'), 1) = 't' And Range('L7') < 200 Then
Range('F7').Select
Selection.Interior.ColorIndex = 50
End If
End If
End If
End If
End If
End If
End Sub

Hier j'avais trouvé:

NB.SI(plage;GAUCHE(F7;1))

dans une plage nommé plage tu met tes caractére: w,t,v,l

Temjeh

Message édité par: Temjeh, à: 22/04/2006 13:04
 

Marc_du_78

XLDnaute Accro
Re:formule conditionnelle en vba

Bonsoir pascal21, Jean Carles, Temjeh,
Pascal, j'ai trouvé ceci sur le site excelabo :

Format conditionnel avec plus de 50 conditions
Je voudrais que la cellule A1 s'affiche en rouge lorsqu'elle contient un fruit appartenant à une liste de plus de 30 fruits. Comment faire ? Tu mets la liste de tes noms pomme poire pêche abricot n'importe où
dans le classeur, ça peut être sur une feuille cachée et tu nommes cette
plage.
pour le format conditionnel tu mets la formule : est égal à :
=EQUIV(A1;plage;0)
Isabelle, (N°496)

En espérant que çs te servira.
Bon Week end
 

pascal21

XLDnaute Barbatruc
Re:formule conditionnelle en vba

mon problème a l'air d'être pointu
j'ai essayé l'astuce de mDF mais elle ne pourra pas s'adapter à mon classeur
la gamme de valeurs étant étendue (plage de 0 à 250) et (plage de 0 à 15000)
en effet la mfc qui s'applique colonne F
contient la formule suivante: =si(gauche(b7;1)='w',si(L7> 250;vrai
j'ai déjà 3 conditions pour 'w'
je voudrais en rajouter pour 't' 'l' 'v'
dans mon classeur cette mfc sert à m'avertir de la proximité ou du retard du vidange en fonction du matériel
tout les matériels n'ayant pas la même périodicité d'entretien
merci
edit: merci marc mais pareil ,ça ne pourra pas s'adapter à mon classeur
il faut que la mfc se fasse sur environ 40 lignes de la colonne F

Message édité par: pascal21, à: 22/04/2006 20:40
 

pascal21

XLDnaute Barbatruc
Re:formule conditionnelle en vba

A la limite,si ça peut simplifier le truc on peut mettre la mfc sur la colonne L
je viens de me rendre compte que la condition avec 't' n'est pas necessaire car il s'agit de camions qui gèrent la périodicité de la vidange en fonction de la conduite; donc pas de km fixes d'imposés en colonne K
 

Marc_du_78

XLDnaute Accro
Re:formule conditionnelle en vba

Bonsoir pascal,
Et si ceci te convenait ?
Afin que tu passe un bon dimanche. [file name=Pascal21_20060422212814.zip size=18675]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Pascal21_20060422212814.zip[/file]
 

Pièces jointes

  • Pascal21_20060422212814.zip
    18.2 KB · Affichages: 28

Discussions similaires

Réponses
2
Affichages
562