Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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.
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
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
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 .
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.