Variable et combobox

  • Initiateur de la discussion Laurent
  • Date de début
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
 
L

Laurent

Guest
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........
 

_Thierry

XLDnaute Barbatruc
Repose en paix
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
 
L

Laurent

Guest
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)
 

_Thierry

XLDnaute Barbatruc
Repose en paix
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
 
L

Laurent

Guest
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:
 

_Thierry

XLDnaute Barbatruc
Repose en paix
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
 

_Thierry

XLDnaute Barbatruc
Repose en paix
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
 

Discussions similaires

Réponses
28
Affichages
1 K
Réponses
3
Affichages
178

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22