Fonction SI dans une macro

Résolu
Bonjour à tous

étant complètement novice dans les macros j'aimerais insérer cette formule dans une macro : =SI(B19="";"";1)

J'ai donc écrit ma macro de cette manière : Range(D19).Formula = "=SI(B19="";"";1)"
Mais ceci ne fonctionne pas...

Pouvez vous m'aider?

Merci!!

2 réponses

  1. Bonsoir,

    En VBA la formule est écrite différemment

    Range(D19).FormulaR1C1 ="=IF(RC[-2]="""","""",1)"
    ou
    [D19].FormulaR1C1 = "=IF(RC[-2]="""","""",1)"
    ce qui veut dire R (Row ou ligne en Français) 0 ou même ligne et C (Column ou en Français Colonne)-2

    tu pourrais également pour comprendre écrire
    [D19].FormulaR1C1 = "=IF(R[0]C[-2]="""","""",1)"
    ou encore
    Range(D19).FormulaR1C1 = "=IF(R[0]C[-2]="""","""",1)"
    0
    1. Merci beaucoup!!! ceci fonctionne parfaitement, j'avais en effet essayé avec le IF mais sans chager la suite et ça ne fonctionnais donc pas non plus...
      Si j'ai donc bien compris pour exemple dans ma formule je ne veux pas B19 mais A20 ceci donnerais [D19].FormulaR1C1="=IF[R1]C[-3]="","",1)"
      C'est ca?
      0
    2. Re

      Oui c'est exactement cela malgrè une petite erreur, il ne faut pas mettre entre crocher [R1] mais simplement R[1]
      [D19].FormulaR1C1 = "=IF(R[1]C[-3]="""","""",1)"
      0
    3. Re

      En effet c'est une erreur de ma part mais je l'avais bien compris ainsi
      merci beaucoup!!
      0
    4. @minijspIl y a aussi :
      Range(D19).FormulaLocal = "=SI(B19="";"";1)"

      Ne pas oublier la touche magique : F1
      1