Fonction SI dans une macro

Résolu
minijsp Messages postés 3 Statut Membre -  
Patrice33740 Messages postés 8930 Statut Membre -
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!!
A voir également:

2 réponses

Patrice33740 Messages postés 8930 Statut Membre 1 781
 
Bonjour,

Voici un excellent cours gratuit pour débutant :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
0
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 
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
minijsp Messages postés 3 Statut Membre
 
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
Mike-31 Messages postés 19571 Statut Contributeur 5 136
 
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
minijsp Messages postés 3 Statut Membre
 
Re

En effet c'est une erreur de ma part mais je l'avais bien compris ainsi
merci beaucoup!!
0
Patrice33740 Messages postés 8930 Statut Membre 1 781 > minijsp Messages postés 3 Statut Membre
 
Il y a aussi :
Range(D19).FormulaLocal = "=SI(B19="";"";1)"

Ne pas oublier la touche magique : F1
1