Formula incorrect

Résolu
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -  
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche à faire une formula en vba mais qui me sorte un truc du genre :

.Cells(ligne_engin, 13).Formula = "=SI((L" & ligne_flotte & "C5>=L" & ligne_flotte & "C11)*(L" & ligne_flotte & "C7>=L" & ligne_flotte & "C10);1;0)"

mais ca ca me fait des erreurs...

Une solution ?

Dans l'attente de vous lire,

cordialement.



3 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
re

effectivement, c'est ton "*" qui pose pb, je suppose que tu veux que les deux conditions soient réalisées, si oui, c'est
ET( cond1;cond2)
ce qui devrait donner

f = "=SI(ET(L" & ligne_flotte & "C5>=L" & ligne_flotte & "C11;L" & ligne_flotte & "C7>=L" & ligne_flotte & "C10);1;0)" 
.Cells(ligne_engin, 13).FormulaLocal= f


RQ. créer d'abord la chaine de caractère f correspondant à la formule
puis affecter f à la cellule
ça te permet en mettant un point d'arrêt devant f, de faire un suivi des variables avec une exécution pas à pas et de voir si f est correcte

bonne suite
1
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Ca ... ca sent bon !! Par contre j'ai l'impression que ca répond pas exactement à mes attentes sachant que C5 et C11 sont des années et C7 et C10 sont des semaines (ex : 46). Mais avec ta formule si jamais je ne met que la semaine (ex:47) dans C10 la valeur passe à active. sauf que je veux que les deux valeurs sont en commun.
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
j'ai rien dis ! c'est bien ce que je cherchais !! :)


Merci beaucoup !! :) Résolu !
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour

esaies la même chose avec
.FormulaLocal = ......

bonne suite
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Re, merci de votre réponse mais : Erreur : Erreur défini par l'application ou par l'objet.
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

et avec :
.Cells(ligne_engin, 13).Formula = "=SI(ET(L" & ligne_flotte & "C5>=L" & ligne_flotte & "C11,L" & ligne_flotte & "C7>=L" & ligne_flotte & "C10);1;0)" 
ce serait mieux non ?

Si j'ai bien compris tu veux tester que la valeur en colonne 5 est supérieure à celle de la colonne 11, ET que la colonne 7 est supérieure à la colonne 10 ?
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
@chossette9 : oui tout à fait, par contre ta formule marche pas non plus, même erreur.
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Et avec le FormulaLocal ? Car si tu mets juste Formula, VB attend du code en anglais. Donc IF(AND(....)).
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
formulalocal idem, idem pour formular1c1local
0