Aller au contenu
Zebulon
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[VBA Excel] Gestion UserForm


Ayoros

Messages recommandés

Bonjour à tous,

 

J'aurais une petite question un peu bête de ma part, je suis convaincu que ce n'est pas compliqué mais je sèche lamentablement.

 

Voilà, j'ai du code VBA qui affiche un UserForm avec une ListBox. L'utilisateur doit choisir au moins une valeur présente. Bienenteudu je veux prévoir le coup où il zappera. Alors, je fais un test sur la sélection en cours, et si c'est vide petite MsgBox qui dit "Choisis au moins un élément".

 

J'arrive à mon problème un peu débile, comment faire en sorte qu'on relaisse la main à l'utilisateur pour sélectionner un élément ? Parce que si je refais un Usf.Show il me dit que c'est déjà en cours (pas faux), et sinon ben le reste du code continue (et plante).

 

J'espère avoir été clair, n'hésitez pas à me demander un complément d'info si nécessaire,

 

Ayoros.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

...

J'arrive à mon problème un peu débile, comment faire en sorte qu'on relaisse la main à l'utilisateur pour sélectionner un élément ? Parce que si je refais un Usf.Show il me dit que c'est déjà en cours (pas faux), et sinon ben le reste du code continue (et plante).

 

J'espère avoir été clair, n'hésitez pas à me demander un complément d'info si nécessaire,

 

Ayoros.

 

Tu pourrais mettre ton code pour voir ce qui plante...

 

Bruno

Lien vers le commentaire
Partager sur d’autres sites

Ben le problème en soit ce n'est pas le plantage. Il plante et c'est tout à fait normal.

 

En fait, les items de la listes sont les valeurs possibles pour un filtre. Donc, si rien n'est sélectionné le filtre n'est pas content logique. Du coup, je teste si quelque chose est bien sélectionné, et sinon, il faut que l'utilisateur puisse retourner sur le UserForm pour sélectionner. Et c'est ce petit détail que je n'arrive pas à coder. En gros tant que l'utilisateur choisit bien au moins une tout roule, mais il faudrait mieux que je gère le cas problématique où rien n'est sélectionné.

Lien vers le commentaire
Partager sur d’autres sites

  • Modérateurs

Ne peux-tu pas ajouter en tête de ta ListBox un pseudo-choix, libellé genre « Faites au moins un choix » et pré-sélectionné ? Ainsi, si tu découvres que c'est le seul choix sélectionné, c'est que ton utilisateur n'a rien exprimé, et tu l'alertes grâce à ta MsgBox, tout en conservant ce même choix pré-sélectionné ?

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

Dans le code ci-dessous, le UserForm contient une zone de liste et un bouton de commande.

Lorsque rien n'est sélectionné et que l'on clique sur le bouton un message averti l'utilisateur puis le focus est repassé à la liste

Si un item est sélectionné alors un message averti de l'Item sélectionné puis cache l'UserForm.

 

Private Sub CommandButton1_Click()

If IsNull(UserForm1.ListBox1.Value) Then
MsgBox ("Choisir une ville")
ListBox1.SetFocus
Else
MsgBox ("Vous avez choisi " & ListBox1.Value & ".")
UserForm1.Hide
End If

End Sub

 

Cela répond-il à ce que tu cherches ?

 

Bruno

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

 

J'essaierai tout à l'heure. Ce sera plus joli que le truc que j'ai bricolé : si rien n'est sélectionné, je fais un Usf.hide suivi d'un Usf.show et cela fonctionne.

Merci à vous pour vos conseils !

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...