Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Variable et combobox

  • Initiateur de la discussion Initiateur de la discussion Laurent
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Laurent

Guest
Bonjour à tous,

j'aimerai récupérer la valeur de la propriété 'value' d'un combobox à l'aide d'une variable pour intégré ensuite cette variable dans une formule...

Au secours !!!! Merci d'avance pour votre aide
 
Dans un module:

Dim mpa As Integer 'mpa = nom de la variable
mpa = matiere.Value 'matiere = nom de la combobox


me retourne un message d'erreur de compilation ' instruction incorrect à l'extérieur d'une procédure'

CA PLANE POUR MOI........
 
Dans module 1:

Public Sub contrainte()
Dim mpa As Integer
mpa = matiere.Value
End Sub

Merci pour votre aide mais ca marche Pô 🙁

la procédure ne trouve pas l'objet 'matiere'
 
Bonsoir Laurent, Pascal, Didier

Si tu fais appel à une Public Sub dans un Module1 alors il faut préciser l'emplacement de ta ComboBox ...

Si c'est un UserForm alors :

Public Sub Contrainte()
Dim mpa As Integer
mpa = UserForm1.ComBoBoxMatiere.Value
End Sub

Pour autant que le UserForm soit chargé en mémoire, et aussi que ce soit bien un Chiffre dans la ComboBox sinon 'mpa' ne va pas passer en Integer...

Si c'est pour une Feuille ta ComboBox alors :
Public Sub Contrainte()
Dim mpa As Integer
mpa = Sheets('Tafeuille').ComBoBoxMatiere.Value
End Sub

Réflexion identique pour l'Integer qui voudra du numérique ...
Donc un moyen de gérer ça en prime

Code:
Public Sub Contrainte()
Dim mpa As Integer
    If Not IsNumeric(Sheets('Tafeuille'Â'Â').ComBoBoxMatiere.Value) Then
        MsgBox 'Y A Pas Bon'
        Exit Sub
    End If
mpa = UserForm1.ComBoBoxMatiere.Value
End Sub


Bon Week End
@+Thierry

Message édité par: _Thierry, à: 11/03/2005 17:24
 
Merci thierry pour ton aide, il s'agit bien d'un combobox sur une feuille,

Le code
Public Sub contrainte()
Dim mpa As Integer
mpa = Sheets('Feuil1').matiere.Value
End Sub

semble fonctionner avec le débogueur mais la cellule contenant la formule me retourne #NOM?

(j'ai remplacé 'comboboxmatiere' par 'matiere' sinon message d'erreur lors de l'execution de la macro)
 
Bonjour Laurent, Didier, re Pascal, le Forum

Oui bien sûr, pour moi 'ComboBoxMatiere' n'était que la figuration du nom que tu avais donné à ta ComboBox...

Donc Problème résolu sinon...

Bon Aprèm
@+Thierry
 
Re thierry,

oui, probleme résolu pour le code mais toujours message d'erreur #NOM? quand je veux integrer la variable mpa dans une formule.

y'a encore quelque chose que j'ai pas compri !!! :huh:
 
Re Bonjour Laurent, le Fil, le Forum

Oui mais il faut savoir exactement le contexte pour pouvoir te répondre... Je ne vois pas dans ce Fil comment tu utilises ensuite cette Variable 'MPA'...

Je sais juste que tu la déclares :
Dim MPA As Integer

A l'intérieur d'une procédure : Public Sub contrainte()

Et qu'elle est initialisée avec la Valeur de la ComboBox nommée 'matière' qui est placée sur la Sheets('Feuil1')...

Voilà pour les éléments connus...

Maintenant si par Exemple tu Veux faire la Multiplication du Contenu de la Valeur de la Cellule('A1') par cette Variable MPA alors il faudrait t'y prendre ainsi pour écrire directement le résulat en Feuil1 Cellule 'B1' (le MsgBox est en plus) :

Public Sub contrainte()
Dim MPA As Integer
Dim MaMutiplication As Double
MPA = Sheets('Feuil1').matiere.Value
MaMutiplication = Sheets('Feuil1').Range('A1').Value * MPA
Sheets('Feuil1').Range('B1').Value = MaMultiplication
MsgBox 'La valeur de la Multiplication de A1 par ' & MPA & ' = ' & MaMutiplication
End Sub


Et si tu veux, par exemple, écrire en dûr le même calcul en reportant dans ta feuille 'Feuil1', Cellule 'B1', la Formule ainsi obtenue alors il faudrait faire ceci :

Public Sub ContrainteFormula()
Dim MPA As Integer
MPA = Sheets('Feuil1').matiere.Value
Sheets('Feuil1').Range('B1').Formula = '=A1*' & MPA
End Sub

Voilà, c'est tout ce que j'arrive à interpréter de ta demande, si ça peut t'aider...

Bonne fin d'Aprèm
@+Thierry
 
Re Bonjour Laurent, le Fil, le Forum

Oui mais il faut savoir exactement le contexte pour pouvoir te répondre... Je ne vois pas dans ce Fil comment tu utilises ensuite cette Variable 'MPA'...

Je sais juste que tu la déclares :
Dim MPA As Integer

A l'intérieur d'une procédure : Public Sub contrainte()

Et qu'elle est initialisée avec la Valeur de la ComboBox nommée 'matière' qui est placée sur la Sheets('Feuil1')...

Voilà pour les éléments connus...

Maintenant si par Exemple tu Veux faire la Multiplication du Contenu de la Valeur de la Cellule('A1') par cette Variable MPA alors il faudrait t'y prendre ainsi pour écrire directement le résulat en Feuil1 Cellule 'B1' (le MsgBox est en plus) :

Public Sub contrainte()
Dim MPA As Integer
Dim MaMutiplication As Double
MPA = Sheets('Feuil1').matiere.Value
MaMutiplication = Sheets('Feuil1').Range('A1').Value * MPA
Sheets('Feuil1').Range('B1').Value = MaMultiplication
MsgBox 'La valeur de la Multiplication de A1 par ' & MPA & ' = ' & MaMutiplication
End Sub


Et si tu veux, par exemple, écrire en dûr le même calcul en reportant dans ta feuille 'Feuil1', Cellule 'B1', la Formule ainsi obtenue alors il faudrait faire ceci :

Public Sub ContrainteFormula()
Dim MPA As Integer
MPA = Sheets('Feuil1').matiere.Value
Sheets('Feuil1').Range('B1').Formula = '=A1*' & MPA
End Sub

Voilà, c'est tout ce que j'arrive à interpréter de ta demande, si ça peut t'aider...

Bonne fin d'Aprèm
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
107
Réponses
13
Affichages
314
Réponses
12
Affichages
353
Réponses
5
Affichages
137
Réponses
6
Affichages
180
Réponses
5
Affichages
145
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…