Formula incorrect

Résolu
ViriisXP Messages postés 535 Statut Membre -  
ViriisXP Messages postés 535 Statut Membre -
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.



--

je pense donc je suis !

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. ViriisXP Messages postés 535 Statut Membre 41
       
      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
    2. ViriisXP Messages postés 535 Statut Membre 41
       
      j'ai rien dis ! c'est bien ce que je cherchais !! :)


      Merci beaucoup !! :) Résolu !
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

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

    bonne suite
    0
  3. ViriisXP Messages postés 535 Statut Membre 41
     
    Re, merci de votre réponse mais : Erreur : Erreur défini par l'application ou par l'objet.
    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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
    2. ViriisXP Messages postés 535 Statut Membre 41
       
      @chossette9 : oui tout à fait, par contre ta formule marche pas non plus, même erreur.
      0
    3. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Et avec le FormulaLocal ? Car si tu mets juste Formula, VB attend du code en anglais. Donc IF(AND(....)).
      0
    4. ViriisXP Messages postés 535 Statut Membre 41
       
      formulalocal idem, idem pour formular1c1local
      0