Excel VBA

Résolu/Fermé
maloplekxus - 24 août 2012 à 15:23
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 24 août 2012 à 17:13
Bonjour,

Je cherche à écrire une macro pour que dans une cellule donnée, elle me rentre la formule suivante :
=SI(A1=1;"";2)
Lorsque j'essaye en VBA cela donne ça :
Activecell.value="=SI(A1=1;"";2)"
Cela ne fonctionne pas.

Avez vous une solution à me proposer

Cordialement

5 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
24 août 2012 à 15:26
bonjour

esasaie ceci
f = "=SI(A1=1;"""";2)"
ActiveCell.FormulaLocal = f


bonne suite
1
J'ai tester, ça fonctionne. En revanche je n'arrive pas à le mettre en application pour une formule plus complexe telle que celle ci :

f= "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "="""";"""";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ActiveCell.Value =f

adresse_cellule est une variable dans laquelle j'ai collecter l'adresse d'une cellule. Je pense que le problème viens de la partie en gras et souligné, mais je n'y trouve pas de solution

Merci d'avance pour votre aide
0
C'est bon en remplaçant ActiveCell.value par ActiveCell.FormulaLocal comme dans la réponse de ccm81, cela fonctionne !!!

Encore merci ccm81

Bonne fin de journée
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 24/08/2012 à 17:03
peut être comme ceci

f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & """" & ";" & """" & ";" & "'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ActiveCell.FormulaLocal = f

RQ. mettre la formule dans f permet de voir ce qui se passe à l'exécution en faisant un suivi des variables

bonne suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 24/08/2012 à 17:15
je crois qu'il y a erreur, essaies ceci

vide = Chr(34) & Chr(34)
f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & vide & ";" & vide & ";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"
ou ceci
f = "=SI('[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & "=" & """""" & ";" & """""" & ";'[Tableau de suivi centre.xlsm]Centre'!" & adresse_cellule & ")"

ActiveCell.FormulaLocal = f
0