begin process at 2008 05 12 08:22:38
1 170 153 membres
57 nouveaux aujourd'hui
13 956 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : obliger la selection d'une listbox [ Langages dérivés / VBA ] (henrry2)

obliger la selection d'une listbox le 09/05/2008 22:11:59

henrry2


retraité, je profite de mes temps libres pour titiller excell etVB mais sans experience cela n'est pas facile.

Re : obliger la selection d'une listbox le 09/05/2008 22:24:28

henrry2
Réponse acceptée !
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

Re : obliger la selection d'une listbox le 09/05/2008 23:08:20

MPi
Réponse acceptée !
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


Re : obliger la selection d'une listbox le 09/05/2008 23:12:34

Exploreur
Membre Club
Réponse acceptée !

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


Re : obliger la selection d'une listbox le 10/05/2008 21:41:20

PCPT
(Admin CS)
Réponse acceptée !
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
topic déplacé de VB6 vers VBA


Prenez un instant pour répondre à ce sondage svp

Re : obliger la selection d'une listbox le 11/05/2008 02:21:16

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

Re : obliger la selection d'une listbox le 11/05/2008 02:36:47

PCPT
(Admin CS)
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 à ce sondage svp


Classé sous : listbox, selection, obliger

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS