Fonction SI dans une macro

Résolu
minijsp Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
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 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Voici un excellent cours gratuit pour débutant :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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 Date d'inscription   Statut Membre Dernière intervention  
 
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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
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 Date d'inscription   Statut Membre Dernière intervention  
 
Re

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

Ne pas oublier la touche magique : F1
1