Listbox avec vba

tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006 - 21 mai 2006 à 22:53
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 28 mai 2006 à 14:23
Bonjour,

je travaille sous excel 97 et je voudrais que ma macro vérifie les champs contenus dans différentes cellules qui sont des listbox.

Je m'explique :
    Exemple : Cellule A1 = Auteur
    Cellule A2 (Listbox) où le user peut choisir  Livres ou Romans ou magazines. 
Dans la macro je voudrais vérifier si la variable : 
   mavar = "Auteur Romans"
est présente dans ma feuille.

Est-ce possible ?
J'espère que c'est assez clair.

Merci pour votre aide.

9 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 mai 2006 à 23:49
Salut,

tu peux essayer un truc comme ça :

Sub Verification ()
Dim mavar As String, mavar2 As String, mavar3 As String
mavar = "Auteur Romans"
mavar2 = Cells(1, 1).Value
mavar3 = Cells(2, 1).Value
If mavar = mavar2 & " " & mavar3 Then
' ici tu mets le code qu'il doit effectuer si la condition est vraie
Else
' ici tu mets le code qu'il doit effectuer si la condition est donc fausse
End If
End Sub

@++
Mortalino
0
cs_etniqs Messages postés 201 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 10 mai 2016
22 mai 2006 à 09:04
oui, mais faut aussi gérer les formats, donc et directement :

if trim(lcase(mavar)) = trim(lcase(Cells(1, 1).Value)) & " " & trim(lcase(Cells(2, 1).Value))

coïto ergo sum
0
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006
22 mai 2006 à 12:05
Désolé je me suis mal exprimé.
En fait je voudrais savoir si "Romans" est présent dans la cellule(Listbox) même si le user n'a rien sélectionné .
Il faudrait que la macro puisse me lister tout ce qu'il y a dans la listbox.
Est-ce toujours possible ?

en espérant que j'ai été plus précis cette fois.
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
23 mai 2006 à 11:43
salut,

En fait il faudrait nous préciser comment tu a fait ta liste :

- Avec validation
- Avec un contrôle de la barre d'outil formulaire
- Avec un contrôle de la barre d'outil Contrôles

En fait, on peut récupérer les éléments de la liste pour chaque type ci dessus mais les méthodes sont différentes.

[mailto:K@lobit K@lobit] < Ne pas clicker ici
Mon site en construction
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006
23 mai 2006 à 12:46
bonjour,

En fait toutes les listbox ont été créées avec 'données -> validation'.

Meric pour votre aide
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
23 mai 2006 à 20:44
Salut,

Si tes données sont inclus par "données, validation", dans tous les cas, elles seront présentes.
Donc tu veux savoir comment les rajouter si elles ne sont pas saisies ?
Si c'est le cas, voici un exemple en code (sachant que la liste est inscrite dans la feuille de données, ici en I12:I14)

With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$I$12:$I$14"
.ShowInput = True
.ShowError = True
End With

Essai de l'adapter, sachant que je ne sais pas indiquer + d'une info en liste.
Désolé

@ ++
Mortalino
0
tabatha64 Messages postés 21 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 23 mai 2006
23 mai 2006 à 21:08
Salut,
en fait je voudrais mettre toutes les données d'une cellule listbox dans une variable(tableau) pour ensuite comparer ces valeurs à une autre variable.
Il y a la solution de rechercher dans la plage de données des listbox mais j'ai une multitude de listbox qui ont des données communes.
Ansi je voudrais trouver un moyen pour rechercher directement les données à partir de chaque listbox.

Désolé mais j'essaie d'être le plus explicite possible.

Merci encore
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
27 mai 2006 à 21:46
je vois pas trop l'interret de faire ça mais bon,

récupère la propriété formula1 de validation attaché à ta cellule

mystr = range("a1").validation.formula1

ensuite il faut tester s'il s'agit d'une référence à une plage ou d'une liste de termes.

je vais pas tout te faire mais n'hésite pas si tu bloques

+@+++

[mailto:K@lobit K@lobit] < Ne pas clicker ici
Mon Site < Mais ici
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 mai 2006 à 14:23
Je suis d'accord avec [mailto:K@lobit K@lobit], je vois pas non plus l'intérêt car tu sais, tecnhiquement, ce qu'il y a en List.
Donc pour ta comparaison, pas tout compris...
Pour la déclaration du tableau, tu connais ta liste donc déclare des constantes !

@ ++



  Mortalino
Le Mystérieux Chevalier "Provençal, le Gaulois" 

N'oubliez pas de lire le règlement
0
Rejoignez-nous