Bonjour,
Comme tu ne l'as pas spécifié, je suppose que tu fais référence à un combobox émanant de la boîte d'outils "Formulaire" placé dans la feuille.
Pour faire ce que tu désires, tu dois utiliser un combobox issu de la boîte d'outils "Contrôle".
En mode création, tu affiches les propriétés du contrôle et tu définis la propriété "ListFillRange" avec l'adresse de la plage dont tu veux afficher les données : Exemple : Feuil1!A1:A10 . Et pour afficher la sélection de l'usager, utilise la propriété
"Linkedcell" , exemple : Feuil1!G1
Ceci étant dit, le combobox contient du texte même si les données qu'ils affichent sont numériques. Par conséquent dans la cellule liée par le contrôle, le contenu de la cellule s'affichera à gauche de la cellule comme si c'était du texte. Tu pourrais
faire des calculs avec le contenu de cette cellule, mais pour avoir un affichage à droite, tu dois double-cliquer dans la cellule.
Cependant, les contrôles qui émanent de la barre d'outils "Contrôle", on peut écrire un bout de code qui fait le travail tout seul et sans que l'on doive définir la propriété "LinkedCell".
Pour ce faire :
Tu insères un contrôle "Combobox" de la barre d'outils "contrôle dans la feuille de calcul
Tu es automatiquement en mode création...
Tu définis la propriété "ListFillRange" comme déjà mentionnée.
Tu double-cliques sur le contrôle et tu vas te retrouver dans la fenêtre de l'éditeur de code (macros).
Dans la page blanche, copie ce code :
Tu adaptes le nom du contrôle selon celui de ton application.
Tu adaptes aussi l'adresse de la cellule où le résultat doit apparaître (H1)
'------------------------------
Private Sub ComboBox1_Change()
If IsNumeric(Me.ComboBox1) Then
Range("H1").Value = CDbl(Me.ComboBox1.Value)
End If
End Sub
'------------------------------
Si tu as besoin d'information supplémentaire, fais signe!