Référence Formule avec variable choix utilisateur
Résolu
thealchemyst
Messages postés
18
Statut
Membre
-
thealchemyst Messages postés 18 Statut Membre -
thealchemyst Messages postés 18 Statut Membre -
Bonjour,
Dans un classeur, j'ai un bouton qui cré des formules par VBA.
Voici une des formules créée :
Etant donné que maintenant j'ai des feuilles qui se nomment "janvier 2013" ou "janvier 2014", j'ai crée une boîte de dialogue demandant à l'utilisateur d'insérer l'année correspondante aux données.
Ensuite, je voulais reprendre cette valeur comme référence pour la création de ma formule.
J'ai repris le principe de formule depuis un autre sujet et l'ai adapté à mon cas.
Mais ça me donne l'erreur 1004...
J'ai aussi essayé de mettre tout ce qui était en texte dans des variables, comme ceci :
Erreur 1004 aussi et cela donne beaucoup de variables, mais on essaie quand même.
Voyez-vous l'erreur dans ces codes ou pouvez-vous me donner une idée pour résoudre mon problème.
D'avance, merci de vos réponses.
Dans un classeur, j'ai un bouton qui cré des formules par VBA.
Voici une des formules créée :
Range("B4").FormulaR1C1 = "=IF(ISERR(janvier!R273C10),""0"",janvier!273C10)"
Etant donné que maintenant j'ai des feuilles qui se nomment "janvier 2013" ou "janvier 2014", j'ai crée une boîte de dialogue demandant à l'utilisateur d'insérer l'année correspondante aux données.
repannee = 0
repannee = InputBox("Veuillez entrer l'année correspondante aux données")
Ensuite, je voulais reprendre cette valeur comme référence pour la création de ma formule.
J'ai repris le principe de formule depuis un autre sujet et l'ai adapté à mon cas.
Range("B4").FormulaR1C1 = "=IF(ISERR('janvier " & repannee & "'!"& "R273C10)" & ",""0""," & "janvier " & repannee & "!R273C10)"""
Mais ça me donne l'erreur 1004...
J'ai aussi essayé de mettre tout ce qui était en texte dans des variables, comme ceci :
mois1 = "janvier "
mois2 = "février "
mois3 = "mars "
mois4 = "avril "
mois5 = "mai "
mois6 = "juin "
mois7 = "juillet "
mois8 = "août "
mois9 = "septembre "
mois10 = "octobre "
mois11 = "novembre "
mois12 = "décembre "
deb = "=IF(ISERR('"
mil = ",""0"","
excla = "'!"
gui = "'"
guid = """
cel1 = "R273C10)"
Range("B4").FormulaR1C1 = deb & mois1 & repannee & excla & cel1 & mil & mois1 & gui & repannee & excla & cel1 & guid
Erreur 1004 aussi et cela donne beaucoup de variables, mais on essaie quand même.
Voyez-vous l'erreur dans ces codes ou pouvez-vous me donner une idée pour résoudre mon problème.
D'avance, merci de vos réponses.
A voir également:
- Référence Formule avec variable choix utilisateur
- Formule si et - Guide
- Liste déroulante de choix excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
1 réponse
Bonjour,
peut-^tre une histoire de guillemets
range("B4").FormulaR1C1 = "=IF(ISERR(""'janvier "" & repannee & ""'!""&
soit guillmet-guillmet-apostrophe-janvier -... guillmet-guillmet
mais le plus sage serait de mettre un souligné entre le mis en l'année ce qui enlèverait l'apostrophe: janvier_2014
les espaces ne sont pas bien vus en info
peut-^tre une histoire de guillemets
range("B4").FormulaR1C1 = "=IF(ISERR(""'janvier "" & repannee & ""'!""&
soit guillmet-guillmet-apostrophe-janvier -... guillmet-guillmet
mais le plus sage serait de mettre un souligné entre le mis en l'année ce qui enlèverait l'apostrophe: janvier_2014
les espaces ne sont pas bien vus en info
j'ai essayé en mettant un guillemet supplémentaire comme tu me l'as suggéré et aussi en rajoutant un _ entre le mois et l'année mais cela ne fonctionne pas non plus... Je dois le conserver car j'ai une formule de tri basé sur le nom de la feuille, soit sur le mois et l'année.
Effectivement, l'apostrophe pose problème parce qu'il pourrait être interprété comme du texte dans mon code et ça Excel VBA, il aime pas... Mais après plusieurs essais, j'ai trouvé ceci :
En séparant dans ma formule _'janvier _ du reste, la formule passe et repasse, c'est formidable :)
Merci michel_m, tu m'as mis sur la voie. Ta suggestion était bonne et m'a permis de rectifier mon code.