Userform

Bonjour,

Je dois réaliser un userform avec 3 zones de listes déroulantes :

1. Nom de l'employé

2. Les membres de la famille de l'employé ainsi que l'employé lui même ( ces infos sont dans le tableau)

3. Le type de document à ouvrir ( passeport , id, etc ..)

En pièce jointe le fichier pour comprendre ma démarche.

Merci d'avance pour votre aide

Manes

29userform.xlsm (17.28 Ko)

Bonjour,

Un exemple pour le premier combobox

Il te suffit de reproduire l'exemple pour les autres

cordialement

ddetp88

Merci ddetp88,

Mais comment créer le bouton userform dans ma page principale ?

Manes

Bonjour le fil, bonjour le forum,

Dans le ruban Développeur, bouton Insérer, tu as le choix entre deux types de contrôles. Les Contrôles de formulaire ou les Contrôles ActiveX (personnellement, je n'utilise jamais les contrôles de formulaire). Selon ton choix, la procédure est légèrement différente. Tu prends le contrôle CommandButton et tu le dessines dans l'onglet à l'endroit où tu veux le positionner.

• Contrôle de formulaire

Dès que tu l'as placé, la boîte de dialogue Affecter une macro s'ouvre avec comme nom par défaut Bouton1_Cliquer. Cliquer sur le bouton Nouvelle permet d'écrire le code affecté à ce bouton. Dans ton cas : UserForm1.Show pour afficher l'UserForm1. Le bouton est de suite opérationnel... Cliquer sur Enregistrer, te permet de renommer la macro...

• Contrôle ActiveX

Le fait de placer un contrôle dans l'onglet te fait passer en Mode Création (le bouton Mode Création est automatiquement cliqué). Un double-Clic dans le contrôle ouvre VBE (l'Éditeur Visual Basic) sur le code par défaut :

Private Sub CommandButton1_Click() où, de la même manière que pour le contrôle de formulaire, tu vas écrire : UserForm1.Show.

• Les différences sont :

  • les propriétés du contrôle ActiveX qui s'affichent dans la fenêtre Propriétés en bas à gauche, qui te propose beaucoup plus de possibilités que le contrôle de formulaire.
  • Le fait qu'il faille désactiver le Mode Création (en recliquant sur le bouton) pour rendre le contrôle ActiveX opérationnel...
  • Au niveau de la mise en forme (couleur, effets, etc.) les Contrôles de formulaires offrent plus de possibilités

En pièce Jointe une proposition différente de celle de ddetp :

35manes-v01.xlsm (26.99 Ko)

Voici mon fichier , je n'arrive toujours pas à lier la première liste à la deuxième . Peut être du au fait que les listes sont regroupées en ligne et non pas en colonne.

Merci

20combobox.xlsm (34.14 Ko)

Bonjour,

Une proposition

51combobox-1.xlsm (27.94 Ko)

A+

Merci Frangy c'est exactement ce que je recherche !

Cependant la présentation de l'userform de Thauthème est plus pertinente dans mon cas.

Le seul problème que j'ai maintenant c'est le code pour ouvrir le fichier . Je dois certainement avoir un problème de déclarations de variables.

A vous relire

35manes.xlsm (24.94 Ko)

Dans ton code, je vois :

nom_choisi = UserForm1.nom_employee.Value
doc_choisi = UserForm1.doc.Value

Es-tu sûr que les 2 contrôles ComboBox portent les noms "nom_employee" et "doc" ?

A+

Tout est ok Frangy , j'ai repris ton fichier et changé la forme de l'userform .

Cependant je viens de m'apercevoir que lorsque j'ouvre le fichier pour l'employé, cela fonctionne, mais lorsque je l'ouvre pour un membre de sa famille , cela m'ouvre toujours le fichier de l'employé ::

J'aimerais que la requête prenne l'information de la deuxième liste et non de la première. Que faudrait -il changer dans ce cas là dans VBA ?

Merci

Rechercher des sujets similaires à "userform"