Menu

Fonction SI dans une macro [Résolu]

Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
- - Dernière réponse : Patrice33740
Messages postés
7443
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
9 décembre 2018
- 25 nov. 2018 à 22:58
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!!
Afficher la suite 

Votre réponse

2 réponses

Messages postés
7443
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
9 décembre 2018
0
Merci
Bonjour,

Voici un excellent cours gratuit pour débutant :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Commenter la réponse de Patrice33740
Messages postés
16680
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
11 décembre 2018
0
Merci
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)"
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
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?
Mike-31
Messages postés
16680
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
11 décembre 2018
-
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)"
minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
Re

En effet c'est une erreur de ma part mais je l'avais bien compris ainsi
merci beaucoup!!
Patrice33740
Messages postés
7443
Date d'inscription
dimanche 13 juin 2010
Dernière intervention
9 décembre 2018
> minijsp
Messages postés
3
Date d'inscription
dimanche 25 novembre 2018
Dernière intervention
25 novembre 2018
-
Il y a aussi :
Range(D19).FormulaLocal = "=SI(B19="";"";1)"

Ne pas oublier la touche magique : F1
Commenter la réponse de Mike-31