Userform Bouton droit d'accès

escalibur

XLDnaute Occasionnel
:) Bonsoir à toutes et à tous.

Je souhaiterais pouvoir gérer l'accès à un fichier en créant un userform dans lequel il faudrait définir son nom et prénom (choix dans une liste déroulante) provenant d'une feuille de ce fichier et son mot de passe.
En plus, un message viendrait préciser si le mot de passe est bon ou erroné.
A l'appui de ma demande, je joins un fichier.
D'avance merci à celles et ceux qui me consacreront un peu de leur temps.
Bonne soirée.
 

Pièces jointes

  • boite de dialogue.xlsm
    27.9 KB · Affichages: 29

Staple1600

XLDnaute Barbatruc
Re : Userform Bouton droit d'accès

Bonsoir à tous


escalibur
Cette question a déjà été de nombreuses fois sur le forum
Utilises le moteur de recherche interne du forum pour t'en convaincre (la loupe en haut à droite de l'écran)
Tu devrais trouver dans les archives de nombreux exemples qui t'aideront dans ton projet ;)
 

camarchepas

XLDnaute Barbatruc
Re : Userform Bouton droit d'accès

Bonjour Staple , Escalibur,

Un sujet qui te passionnes l'accés sécurisé à priori.

Bon , l'on va redonner de l'éclat à cette belle épée....

Alors Palier par palier , puisqu'en fait ton fichier est plein de belles intensions , mais vide en fait .

Premiére étape : Raccordement du bouton au formulaire.

En bas du classeur, tu dois avoir la barre d'onglets avec tous les onglets visibles du classeur.

Clic droit sur l'onglet feuil1
Là dans le menu déroulant sélectionner Visualiser le code .

Là tu arrives dans le VBE, la caverne mystèrieuse où repose la plupart des secrets du VBA.

L'on est dans le module de code de la feuil1

En haut à gauche la liste déroulante des objets visibles de ce module, sélection de CommandButton1.

dés que tu relaches le bouton , tu constates que dans l'autre liste déroulante en haut à droite , il y a Click de seléctionné.

Si tu regardes dans cete liste , il y a plein d'autres choix, il correspondent tous à des événementiels liés à l'objet sélectionné .

Un événementiel se déclenche lorsque lorsque qu'une action ou un évémenement bien précis ce réalise.

Un peu comme une alarme sur un réveil , si tu régles sur 5h15 , et bien à chaque fois qu'il sera 5h15 l'alarme ce met en route .

Bon l'on s'aperçoit que le fait d'avoir séléctionné commandButton1 à pré écrit un module événementiel , il suffit donc d'écrire à l'intérieur ce que l'on veut qu'il fasse, en l'occurence lancer le formulaire d'authentification.

Ce formulaire par défaut se nomme Userform1 , 2 ou 3 etc , bon il faut savoir que l'on peut renommer un formulaire , c'est surement trés pratique lorsqu'on en à beaucoup .

Donc pour charger et afficher la formulaire, la solution généralement employée :

Userform1.show

donc tu dois obtenir en final :

Code:
Private Sub CommandButton1_Click()
 UserForm1.Show
End Sub

Voilà, une bonne avancée puisque cela te permet d'afficher maintenant n'importe quel userform ...

Ensuite et ce sera la fin de cette premiere étape

Remplissage de la liste de la combobox :

Donc ALT F11 pour ouvrir le VBE.

Quelque part dans ta fenêtre , moi c'est en haut à gauche , tu dois avoir une sous fenetre Projet - VBAProject

Si ce n'est pas le cas aller dans Le menu Affichage puis explorateur de projets

dans cette boite sont affichés tous les objets de l'instance Excel en cours, il peu donc y avoir éventuellement plusieurs classeurs.

Repére vbaproject "boite de dialogue.xlsm" pour notre cas .

Dépli les composants en cliquant sur les petites croix de gauche

tu dois voir maintenant le module Userform1, clic droit puis code

voilà , l'on arrive au module de code lié au formulaire en question .

Ensuite dans la liste des objets ( En haut à gauche ) sélection de Userform, puis dans celle de droite de l'évenement "Initialize"

Une pré écriture est à présent disponible ,

La liste des noms est située en feuil2 zone de cellules A2 à A6

La liste que tu as choisi de créer dans ton formulaire est en fait une liste combinée à une texte box d'ou le termee combobox,

Pour initialiser la liste disponible

l'on à donc choisit l'évenement Initialize qui ce produit au chargement de l'userform

donc entre

Private Sub UserForm_Initialize()

'et

End Sub

l'on va écrire :

ComboBox1.List = Sheets("Feuil2").Range("A2:A6").Value

ou combobox1 est le nom de la liste combinée
.list est la liste de l'objet en question
le signe égal permet d'affecter une valeur , même si en l'occurence cette valeur est une liste .
Sheets(Feuil1") indique l'élément onglet nommé feuil2
le .range("A2:A6") indiquela zone prise en compte dans la feuil2
le .value ne transfert en fait que les valeur de cette zone


Voilà , voilà .

c'est pas toujours évident de faire du pas à pas pour expliquer , j'espére ne pas avoir oublié de chose , ni être tombé dans l'excés du détail.

j'attends donc ton classeur avec cette partie de fonction réalisée .(Ou sur quel élément il y a besoin de précision )

soit appel du formulaire opérationnel et remplissage de la liste .

Lorsque cela sera ok , l'on pourra passer à la suite .
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Taille UserForm
Réponses
3
Affichages
390

Statistiques des forums

Discussions
312 493
Messages
2 088 952
Membres
103 989
dernier inscrit
jralonso