Bonjour Olivier, le forum
Tu peux utiliser un textbox dans un userform ou une inputbox!
La solution différe.
1-Pour une inputbox, le plus simple est d'utiliser la méthode inputbox (ne pas confondre avec la fonction inputbox à la syntaxe trés proche mais ne disposant pas des mêmes capacités).
Application.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type) ou type concerne le type de données à entrer:
0 Une formule.
1 Un nombre.
2 Texte (une chaîne).
4 Une valeur logique (True ou False).
8 Une référence de cellule, sous la forme d'un objet Range.
16 Une valeur d'erreur, telle que #N/A.
64 Un tableau de valeurs.
Si c'est la formule proprement dite qui t'interesses, il faut mettre type à 0
Range("A1").FormulaR1C1 = Application.InputBox(Prompt:="Entrez une formule", Title:="Interface", Default:="=", Type:=0)
ne pas oublier le = au début de la formule entrée
si tu entres =100-10, tu auras en A1 la formule =100-10 et la valeur 90.
Si c'est le résultat de l'opération qui t'interesses, il faut passer type à 1
Range("A1").FormulaR1C1 = Application.InputBox(Prompt:="Entrez une formule", Title:="Interface", Default:="=", Type:=1)
ne pas oublier le = au début de la formule entrée
si tu entres =100-10, tu auras en A1 la valeur 90 sans formule.
Lors de l'exécution de l'inputbox, tu peux utiliser les flèches pour sélectionner des adresses de cellules.
2-Pour une textbox dans un userform, il faut entrer pareillement la formule sans oublier le = et mettre à jour la cellule par
-si c'est la formule que tu veux
Range("A1").formular1c1=userform.texbox1.value
-si c'est la valeur que tu veux
Range("A1").formular1c1=userform.texbox1.value
Range("A1").Value = Range("A1").Value
Cordialement, A+