Obliger la selection d'une listbox [Résolu]

cs_henrry2 14 Messages postés dimanche 4 novembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 9 mai 2008 à 22:11 - Dernière réponse : cs_henrry2 14 Messages postés dimanche 4 novembre 2007Date d'inscription 26 mai 2010 Dernière intervention
- 12 mai 2008 à 13:39
retraité, je profite de mes temps libres pour titiller excell etVB mais sans experience cela n'est pas facile.
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_henrry2 14 Messages postés dimanche 4 novembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 9 mai 2008 à 22:24
3
Merci
Bonjour, mon pB est le suivant, j'ai une userform avec plusieurs textbox une listbox et un CommandButton qui actionne une macro.
comment faire pour que si l'utilisateur oublie de selectionner la listbox ou écrire dans une textbox de mettre la macro en veille tant que la sélection n'est pas faite et bien sur une fois la sélection effectuée re lancer la macro
merci

Merci cs_henrry2 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_henrry2
Meilleure réponse
cs_MPi 3869 Messages postés mardi 19 mars 2002Date d'inscription 25 mai 2018 Dernière intervention - 9 mai 2008 à 23:08
3
Merci
Au début de ta procédure (ou macro), tu dois vérifier l'état de la listbox.
If MaListbox.ListIndex = - 1 then Exit sub

Si ListIndex = -1, c'est qu'aucun item n'est sélectionné et tu sors de la procédure.
Bien sûr, tu peux mettre un MsgBox explicatif, au besoin...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI

Merci cs_MPi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_MPi
Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 9 mai 2008 à 23:12
3
Merci
Salut,

voilà ce que je te propose, tu as besoin d'un Listbox et 2 zones de saisie(un textbox indéxé)

Option Explicit
Dim SVar As String




Private Sub Command1_Click()


' Variables de travail
 Dim i As Integer
 
' Vérifie que toutes les zones soit remplies(TextBox indéxés)
For i = 0 To 1
    If Text1(i).Text = vbNullString Then
       MsgBox "Vous devez remplir toutes les zones de text !"
       Exit Sub
    End If
Next i


' Vérifie que l'user à bien choisi un item dans List1
 If SVar = vbNullString Then
    MsgBox "Vous devez séléctionnez un élément dans la List1 !"
    Exit Sub
 End If
 
End Sub




Private Sub Form_Load()


' Variables de travail
 Dim i As Integer


' Remplie la List1
  For i = 0 To 10
      List1.AddItem "toto"
   Next i
  
End Sub


Private Sub List1_Click()


SVar = List1.Text


End Sub

Note : On peux faire une sub, mais disont que là c'est simple pour comprendre


A+
Exploreur

 Linux a un noyau, Windows un pépin

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 10 mai 2008 à 21:41
3
Merci
salut,

Exploreur -> pas d'index en VBA voyons ;)

henrry2 -> à retenir le fonctionnement qu'MPi a indiqué, à savoir on attend pas en boucle que l'utilisateur agisse, on travaille QUAND il a fait le nécessaire!

PS : attention à la rubrique du forum
<li> Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_DIVERS_220.aspx Divers] / [infomsgt_DEBUTANTS_226.aspx Débutants] / obliger la selection d'une listbox</li>topic déplacé de VB6 vers VBA

Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de PCPT
Meilleure réponse
cs_henrry2 14 Messages postés dimanche 4 novembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 11 mai 2008 à 02:21
3
Merci
Merci pour toutes vos réponses qui sont en fait semblables.
Mais n'y a-t'il pas une solution qui permettrait de garder la macro en attente de la réponse aprés le message: "Vous devez séléctionnez un élément dans la List1!".
J'ai essayé waitTime mais pendant le réroulement de waitTime il n'est pas possible de sélectionner dans la listbox.
Enfin ceci pour essayer autre chose car vos solutions vont trés bien.
encore merci.

Merci cs_henrry2 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de cs_henrry2
Meilleure réponse
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 11 mai 2008 à 02:36
3
Merci
c'est ici un problème de conception!
pose un bouton sur une form, tu ne vas pas boucler et bouffer les ressources du proc jusqu'à ce que l'utilisateur clique, tu ne fais rien et agit quand il clique !

si tu as autre chose en tête alors explique précisément ta question même si elle n'est pas liée à ce problème car tu pars sur une mauvaise piste...

VBA est évènementiel, pas procédural....
des solutions pour bidouiller il y en a, y'a même que çà.
indice :  boolean + doevents
super, çà n'apporte rien
c'est ici un problème de conception!
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de PCPT
cs_henrry2 14 Messages postés dimanche 4 novembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 12 mai 2008 à 13:39
0
Merci
J'ai bien compris le Pb. Je vais donc en rester là
encore une fois merci à tous
Commenter la réponse de cs_henrry2

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.