XL 2016 Mémorisation d'une identification d'utilisateur d'un User Form sur une feuille Excel.

Pauuul35

XLDnaute Junior
Bonjour tout le monde,

/!\ Je suis un apprenti sur le monde du VBA /!\

Je souhaite faire un Excel qui regroupe les membres d'une équipe qui par la suite conseillera des formations/documents aux différents utilisateurs et leurs fonctions.
J'ai mis mon nez dans VBA les UserForms depuis peu mais me voilà bloqué.

Lorsque que j'ouvre mon document, j'ai deux choix :
- me connecter
- m'enregistrer

Or, lorsque je souhaite mémoriser les informations de l'utilisateur qui s'enregistre. Cela n'arrive pas à garder sur la feuille que j'ai créée en adéquation.
Savez-vous où est mon problème dans ma situation ?

PS : je vous mets en joint le commencement de ce que j'ai fait.

Tout conseils est la bienvenue !

Merci d'avance
 

Pièces jointes

  • Poste - Formation.xlsm
    38.7 KB · Affichages: 6
Solution
Voir en PJ une version commentée et qui évite tous les formulaire.hide ou .show et ainsi les basculement "intempestifs"..
voir les commentaires pour comprendre la logique

à partir de la feuille, tu as tes deux boutons
le bouton enregistrement permet de saisir un nouvel utilisateur. et c'est tout...==> Inscription et retour sur la feuille
le bouton Connexion:
1) saisie d'un matricule
==> s'il existe==> bouton Demarre dispo
==> s'il n'existe pas==> soit erreur de saisie==> utilisateur modifie sa saisie
==> soit c'est un nouveau matricule ===> le lien est actif pour pouvoir enregistrer
une fois l'enregistrement effectué, retour au formulaire de connexion sur lequel le bouton Demarrer est...

Pauuul35

XLDnaute Junior
avant de te lancer dans du codage vba, il faut que tu définisses correctement le projet
1) utiliser des tables structurées pour préparer les listes
2) créer une Base de données qui regroupe tous les utilisateurs avec toutes les formations possibles à réaliser
3) créer un "modèle" de présentation que chaque utilisateur pourra visualiser avec ses informations.

ensuite, le code ne sera la que pour saisir / extraire des informations

Ça marche, je vais essayer de faire tout ça de façon clair, apprendre les bases de mon côté, je reviens vers toi dans quelques temps !

Merci à toi Vgendron pour le temps passé à m’aider, même si pour toi je pense que mes problèmes ne sont que très facile ahah !
 

Pauuul35

XLDnaute Junior
avant de te lancer dans du codage vba, il faut que tu définisses correctement le projet
1) utiliser des tables structurées pour préparer les listes
2) créer une Base de données qui regroupe tous les utilisateurs avec toutes les formations possibles à réaliser
3) créer un "modèle" de présentation que chaque utilisateur pourra visualiser avec ses informations.

ensuite, le code ne sera la que pour saisir / extraire des informations
Bonjour Vgendron,

Tout d'abord mes meilleurs vœux pour cette année !

Je reviens vers toi après une petite pause (je te mets en PJ le fichier) :
1 ) J'ai fait les listes de ce qu'il me fallait (il y aura surement des ajouts par la suite.). Est-ce que c'est bien cela les "tables structurées" dont tu me parlais ?
2 ) Pour créer une base de données qui regroupe tous les utilisateurs avec toutes les formations possibles, je peux l'avoir directement sur mon Excel pas besoin de passer par une Access ou truc dans le genre ?
3 ) Pour le modèle, ce que j'avais pensé je l'ai mis sur la feuille "Identification". Y'a-t-il une possibilité de bloquer l'accès dans les autres feuilles pour éviter aux utilisateurs de faire des modifications par erreur ?

Peux-tu me redire si tout semble ok avant que j'essaye de me lancer au code ? (Je sais pas comment je vais m'y prendre d'ailleurs ^^)

Merci d'avance !
 

Pièces jointes

  • Poste - Formation.xlsm
    61.8 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
Hello
Tous mes voeux

J'ai regardé ton fichier, les listes ne sont pas sous la forme de table structurée: juste des plages de données

plutot que transformer toutes ces plages en table une par une, j'ai créé une macro qui permet de transformer la selection active en table, en mettant comme nom: Tab_ et contenu de la première ligne (ligne d'entete)

Regarde dans la PJ:
selectionnes la zone C16:C21
et cliques sur le bouton 1
tu vas voir la selection transformée en table dont le nom est "Tab_Démo"

le fait d'avoir les données sous forme de table permet d'y accéder par le nom de la table
dans la feuille "Identification", j'ai défini les deux listes de validations en M7 et N7
de plus, si tu ajoutes des données dans la table, celle ci s'adapte automatiquement
 

Pièces jointes

  • Poste - Formation (2).xlsm
    75.2 KB · Affichages: 5

Pauuul35

XLDnaute Junior
Hello
Tous mes voeux

J'ai regardé ton fichier, les listes ne sont pas sous la forme de table structurée: juste des plages de données

plutot que transformer toutes ces plages en table une par une, j'ai créé une macro qui permet de transformer la selection active en table, en mettant comme nom: Tab_ et contenu de la première ligne (ligne d'entete)

Regarde dans la PJ:
selectionnes la zone C16:C21
et cliques sur le bouton 1
tu vas voir la selection transformée en table dont le nom est "Tab_Démo"

le fait d'avoir les données sous forme de table permet d'y accéder par le nom de la table
dans la feuille "Identification", j'ai défini les deux listes de validations en M7 et N7
de plus, si tu ajoutes des données dans la table, celle ci s'adapte automatiquement
Ah oui je vois très bien ! (Merci pour ce gain de temps énorme que tu m'as réalisé)

Concernant les deux autres points (Base de donnée et le blocage de l'accès des feuilles aux autres utilisateurs (via mot de passe par exemple) tu pourrai m'éclairer ?
Penses-tu que le visuel que j'ai imaginé (feuille : "identification") est possible a faire ?

Merci d'avance,
 

Pauuul35

XLDnaute Junior
Bah en fait, la question est:
une fois que l'utilisateur s'est identifié.. il est censé faire quoi??
quelles feuilles lui sont accessibles ou non, en fonction de quoi..?
Une fois connecté (si déjà inscrit) ou après inscription, il va devoir se catégoriser dans un service et un poste.

Une fois fait, il aura à sa disposition son propre avancement.
L'avancement sera différent en fonction du service (dans mon cas pour l'instant je me focalise sur un seul service "Schémas Industriels" pour me familiariser avec le codage.) et de son poste (Axé surtout sur la "Méthode" et le "Chef de projet").
L'avancement sera sous forme de Check List, exemple :

-Je me connecte : Rentrer mon matricule -> devient l'utilisateur actif.
-Je rentre ma fonction, si pas encore fait : (en cascade) -> Schémas industriels -> Transfert Industriel -> Chef de projet
-Je suis catégorisé en CdP dans le service SI. Je visualise mon avancement avec une barre qui se remplit de 0% à 100%.
-Afin de la remplir, j'ai l'accès au bouton "Voir ce qu'il me manque ?".
Lorsqu'on clique dessus, on m'envoie une liste de "Formation général" (commun à tout le monde) et de "Formation Spécifique" (pour mon poste). Je peux cocher les cases lorsque j'ai réalisé les actions demandées.

De plus, pour la Check List, pour savoir ce que les actions veulent dire j'aurai accès à une description. Par exemple :
Je me demande ce que la "Présentation usine" veut dire dans la "Formation Générale"
1672849021488.png


alors j'ai un bouton "?" qui me décrira qu'il faut que je visite tout ceci : (Je pourrai également cocher au fur et a mesure les lieux visiter)
1672848464793.png


L'utilisateur ne pourra pas modifier le document, il aura juste la possibilité de se connecter/enregistrer, puis voir/valider son avancement. Pour éviter de devoir refaire le document en cas de mauvaise manipulation !

Je ne sais pas si j'ai été clair ? :D
 

Statistiques des forums

Discussions
312 163
Messages
2 085 860
Membres
103 005
dernier inscrit
gilles.hery