Bonsoir,
Avec l'aide du forum j'ai su construire un système de compta individuelle avec regroupement des dépenses dans une feuille unique. Chaque fois qu'un nom est ajouté dans la liste une fiche est créée automatiquement.
Seulement, comme toutes les feuilles sont accessibles à tout le monde, je voudrais que, chaque fois qu'un nouveau nom apparaît dans la colonne H de la feuille "LISTES" un bouton avec le nom soit ajouté dans "MENU" (en-dessous du bouton inférieur existant déjà) et qu'à l'appui sur le bouton il faille entrer le mot de passe correspondant (colonne I de la feuille "LISTES"), que soit ensuite (si le mot de passe est correct) ôtée la protection du classeur, que la feuille en question soit affichée, et que le classeur soit reprotégé.
Lorsque la personne a fini de travailler dans sa feuille, elle la re-masque par l'appui sur un bouton:
* de préférence le même, mais je ne sais pas s'il est possible d'affecter deux actions différentes à un bouton: enclenché la première action et déclenché la deuxième action, à l'instar d'un vrai bouton ayant deux positions
* sinon un second bouton
J'ai réussi à faire afficher la feuille d'une personne déterminée, mais je ne sais pas comment faire pour généraliser: donc qu'un bouton soit ajouté pour chaque nouveau nom apparaissant dans la liste.
J'ai fabriqué aussi une petite macro servant à re-masquer la même feuille; là il manque donc aussi la généralisation.
Désavantage de ma façon de procéder: comme j'ai fait mes essais sur un fichier vierge et non le fichier original, il faut que j'arrive à intégrer le code dans le code existant déjà et ajoutant les noms et créant les feuilles par appui sur un bouton.
Je ne suis pas près de cet ordinateur, mais je pense quil n'y a pas de login.
D'ailleurs, j'ai résolu le problème, avec votre aide, surtout le code de Reblochon; mais j'avais trouvé une solution moi-même; comme celle de Reblochon est plus élaborée je l'ai adaptée.
Je vous remercie pour votre intérêt et votre aide!
Je me mets maintenant à faire un peu de cosmétique, pour que le tout ait un aspect plus agréable.
J'étais juste revenu pour donner des explications sur ma "méthodologie" (celle du message#26)
Ni plus, ni moins.
Éclaircissement: quand tu démarres ton propre PC
(sous Windows 7 ou 8 ou 10), tu dois saisir un nom d'utilisateur puis un mot de passe, non ?
C'est ce que j'appelle un login.
Je ne sais pas répondre à cette question puisque je ne suis jamais à l'endroit où est cet ordinateur.
Mais, en ce qui concerne ta méthodologie (je l'avais oublié dans mon message précédent), elle est super professionnelle.
Je parlais de ton ordinateur
(Celui sur lequel tu es actuellement)
NB:C'est juste une question pour comprendre mes explications
D'ailleurs fais ce test sur ton PC
VB:
Sub Test()
MsgBox Environ("USERNAME")
End Sub
Ce qui s'affichera est ton nom d'utilisateur Windows
(en tout cas, celui de la session active)
Que j'appelle donc le login Windows.
Donc dans mon exemple où il y N utilisateurs sur un PC (ou sur N PC en réseau)
grâce à Environ("USERNAME") (et à condition que les noms des onglets à afficher/masquer correspondent aux USERNAME des N utilisateurs), le code n'affiche que l'onglet qui correspond à l'USERNAME actif.
Voila, j'espère avec ces dernières explications c'est plus clair?
Oui, je comprends.
Seulement, s'il n'y a qu'un seul username cela ne marcherait pas. Si chacun avait sa session ce serait autre chose; dans ce cas ce serait une solution super, en effet.
=>Aloha
Encore une fois, ce n'était qu'une suggestion.
Elle ne correspond pas à ta problématique.
Ce n'est pas grave elle pourra servir à d'autres lecteurs de ce fil.
D'autant plus, que tu as une solution fournie par Roblochon.
Je pense que la réponse à cette question:
Y a-t-il une différence fondamentale entre les deux quant à leur utilisation, ou bien puis-je sans problème opter pour les seconds?
=>Aloha
Tu penses ce que tu pense, j'écris ce que j'écris.
Si tu veux pouvoir "personnaliser" un bouton (donc l'embellir)
C'est un contrôle ActiveX qu'il faut utiliser.
(donc la réponse était dans ta question)
Créez, modifiez, mettez en forme, verrouillez et déverrouillez des formulaires Excel, notamment des formulaires de données, des feuilles de calcul comprenant des contrôles de formulaire et ActiveX et des formulaires UserForm VBA.