VBA Ecrire formule dans une cellule via VBA
nicox100
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour tout le monde,
Je début comme certains en VBA et j'ai un soucis quand à l'inscription programmée d'une formule avec paramètres variables dans une celllule.
La formule est inscrite dans une boucle et est censée inscrire une formule d'importation de donnée d'un terminal bloomberg avec la formule BDH. (ne pas s'arreter à cette formule, ca n'importe pas dans la question).
Voici à quoi ressemble la formule dans une des cellules excel:
=IF(K8="","",BDH(K8,L11,$E$2," ","FX=USD","Days=Trading","Fill=P","Dates=Show","DateFormat=D","Dir=V","Period=D","Quote=C","Sort=A","cols=2;rows=4873"))
Les seuls termes qui évoluent et changent sont K8, L11 et E2. Le reste des élements sont à considérer comme fixe.
J'ai bien tenté de la programmer mais rien n'y fait. Je n'arrive pas à différencier les guillemets de ma programmation vba proprement dite des guillemets qui sont à intégrer dans ma formule directement.
Voilà où j'en suis.
Security = .Range("E8").Offset(0, 3 * Numberofsecurities)
Data = .Range("F11").Offset(0, 3 * Numberofsecurities)
FirstDate = .Range("E3")
.Range("E12").Offset(0, 3 * Numberofsecurities).Value = "=IF(" & Security & "," & Data & "," & Firsdate etc etc...
Quelqu'un pourrait-il m'aider svp ?
Je début comme certains en VBA et j'ai un soucis quand à l'inscription programmée d'une formule avec paramètres variables dans une celllule.
La formule est inscrite dans une boucle et est censée inscrire une formule d'importation de donnée d'un terminal bloomberg avec la formule BDH. (ne pas s'arreter à cette formule, ca n'importe pas dans la question).
Voici à quoi ressemble la formule dans une des cellules excel:
=IF(K8="","",BDH(K8,L11,$E$2," ","FX=USD","Days=Trading","Fill=P","Dates=Show","DateFormat=D","Dir=V","Period=D","Quote=C","Sort=A","cols=2;rows=4873"))
Les seuls termes qui évoluent et changent sont K8, L11 et E2. Le reste des élements sont à considérer comme fixe.
J'ai bien tenté de la programmer mais rien n'y fait. Je n'arrive pas à différencier les guillemets de ma programmation vba proprement dite des guillemets qui sont à intégrer dans ma formule directement.
Voilà où j'en suis.
Security = .Range("E8").Offset(0, 3 * Numberofsecurities)
Data = .Range("F11").Offset(0, 3 * Numberofsecurities)
FirstDate = .Range("E3")
.Range("E12").Offset(0, 3 * Numberofsecurities).Value = "=IF(" & Security & "," & Data & "," & Firsdate etc etc...
Quelqu'un pourrait-il m'aider svp ?
A voir également:
- VBA Ecrire formule dans une cellule via VBA
- Excel compter cellule couleur sans vba - Guide
- Formule si et - Guide
- Écrire plusieurs lignes dans une cellule excel mac - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller une cellule excel dans une formule - Guide
4 réponses
Bonjour,
Suggestion, construisé votre formule par étape :
Lupin
Suggestion, construisé votre formule par étape :
Sub ConstruitFormule() Dim Formule As String Dim varAdr1 As String Dim varAdr2 As String Dim varAdr3 As String '=IF(K8="","",BDH(K8,L11,$E$2,"","FX=USD","Days=Trading","Fill=P","Dates=Show", ' "DateFormat=D","Dir=V","Period=D","Quote=C","Sort=A","cols=2;rows=4873")) 'K8 -> varAdr1 'L11 -> varAdr2 '$E$2 -> varAdr3 varAdr1 = "K8" varAdr2 = "L11" varAdr3 = "$E$2" Formule = "=IF(" Formule = Formule & varAdr1 & "=" & """" & """" Formule = Formule & "," & """" & """" Formule = Formule & ",BDH(" Formule = Formule & varAdr1 & "," & varAdr2 & "," & varAdr3 Formule = Formule & "," & """" & """" Formule = Formule & "," & """" & "FX=USD" & """" & "," Formule = Formule & """" & "Days=Trading" & """" & "," Formule = Formule & """" & "Fill=P" & """" & "," Formule = Formule & """" & "Dates=Show" & """" & "," Formule = Formule & """" & "DateFormat=D" & """" & "," Formule = Formule & """" & "Dir=V" & """" & "," Formule = Formule & """" & "Period=D" & """" & "," Formule = Formule & """" & "Quote=C" & """" & "," Formule = Formule & """" & "Sort=A" & """" & "," Formule = Formule & """" & "cols=2;rows=4873" & """" & "))" Range("A1").Offset(0, 0).Value = Formule End Sub '
Lupin
Pour simplifier ma question:
Comment transcrire la formule suivante en VBA:
=IF(A1="","",A1*A2)
Merci
Comment transcrire la formule suivante en VBA:
=IF(A1="","",A1*A2)
Merci
Salut Lupin,
Merci de ton aide.
J'ai trouvé à l'instant la solution à mon problème.
Pour voir la réponse, je te suggère de regarder ce post :
http://www.commentcamarche.net/forum/affich 6602926 vba probleme de guillemets
Vive Commentcamarche.com !!
Bonne journée à toi
Nicox100
Merci de ton aide.
J'ai trouvé à l'instant la solution à mon problème.
Pour voir la réponse, je te suggère de regarder ce post :
http://www.commentcamarche.net/forum/affich 6602926 vba probleme de guillemets
Vive Commentcamarche.com !!
Bonne journée à toi
Nicox100