Système d'authentification par utilisateur

Bonjour à tous,

J'ai une problématique avec mon Excel.

Je m'explique.

Seulement 5 utilisateurs pourront modifier ce fichier Excel. Ils sont tous nommés dans l'onglet "UTILISATEURS".

Je souhaiterais créer un système d'authentification à l'ouverture du fichier et qu'on ne puisse pas accéder au fichier sans s'authentifier.

Après l'authentification, il faudrait que chaque utilisateur puisse modifier le fichier selon la couleur d'écriture prédéfinie pour chaque utilisateurs. Cela sera mon moyen de savoir qui a modifier le fichier.

J'ai pensé à une liste déroulante mais je souhaite passer par la VBA. Cela sera plus propre. Je n'arrive pas à trouver les bonnes macro pour que cela fonctionne bien...

Je joins mon Excel a ce message pour une meilleur compréhension.

Merci d'avance pour votre aide,

Gabin

Bonjour Gabin, bonjour le forum,

En pièce jointe ton fichier modifié :

J'ai rajouté une couleur à chaque utilisateur ainsi qu'un code dans la colonne B et une UserForm1.
Le code se trouve dans les composants :
• ThisWorkbook
• Module1
•UserForm1

À l'ouverture l'utilisateur renseigne son origine et son code. Trois tentatives pour le code, après le classeur se ferme. Je n'ai pas compris comment tu faisais pour changer la couleur de la ligne lorsque tu sélectionnes un cellule. J'ai eu beau chercher, je n'ai pas trouvé (ça m'intéresserait de savoir, si tu peux...)

Utilise le même procéder mais dans l'événementielle Change pour colorer avec la variable COUL qui est définie au changement d'utilisateur dans la ComboBox1.
Codes actuel de chaque utilisateur : 1234 pour le premier, 2345 pour le second etc...

Le fichier :

181gabe-2-ep-v01.xlsm (152.27 Ko)

Bonjour,

Il suffit de sélectionner une cellule sur la feuille et de la renommer : "_maligne" dans ma feuille (cellule K1)

Ensuite, on lui donne une valeur qui correspond au numéro de ligne : "6" dans mon classeur. (peu importe le numéro de ligne, on peut lui donner 7, 8 ou 9 enfin, comme on veut)

Ensuite, j'ai sélectionné l'ensemble de mon tableau.

Accueil > Mise en forme conditionnelle > Nouvelle règle > « Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué »

Ensuite, dans "appliquer une mise en forme aux valeurs pour lesquelles cette formule est vraie, tu écris: =ligne(A2)=_maligne

Puis cliquez sur le bouton Format… afin de personnaliser la mise en forme que tu souhaites appliquer.

Enfin, il suffit d'ajouter cette macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Surligner ligne curseur
Range("_maligne") = ActiveCell.Row
End Sub

Et voila :)

Est-ce possible d'avoir un exemple avec un utilisateur sur ca :

Utilise le même procéder mais dans l'événementielle Change pour colorer avec la variable COUL qui est définie au changement d'utilisateur dans la ComboBox1.

Merci pour votre aide,

Cordialement,

Gabin Andrieux

Bonsoir,

Si je n'ai pas été clair dans mon précédent mail, vous pouvez aller sur le site Excelformation et cherche "comment surligner la ligne de la cellule selectionnée". j'ai suivi ce tuto.

En revanche, en appliquant cette méthode, je n'arrive pas à définir une couleur de police par utilisateur dans mon fichier. Avec cette méthode, lorsque j'écris dans l'onglet "REF CODIFIEES" par exemple, cela me change le nom de l'utilisateur. Or, je souhaite juste que chaque utilisateur ait sa propre couleur d'écriture.

Merci d'avance,

Cordialement,

Gabin

Re,

Tu ne dis absolument rien sur la méthode proposée. La seule chose qui te préoccupe c'est ce qui ne marche pas... Pas sympa !...

Merci pour l'explication. J'ai compris. J'avoue que je trouve que ça ralenti tellement l'exécution du code que j'aurais du mal à l'utiliser.
Sinon pour la couleur de l'utilisateur il suffit d'adapter, Range("Tableau1"), et de rajouter le code ci-dessous dans les onglets où tu veux que ça fonctionne :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("Tableau1")) Is Nothing Then Target.Interior.Color = COUL
End Sub

Si c'est la couleur de la police remplace Interior par Font...

Bonsoir,

Je n'avais pas compris cela. Quand j'ai essayé d'adapter la couleur de la police, j'ai tenté d'utiliser la même méthode que j'ai utilisé pour sélectionner la ligne du curseur en adaptant le code.

Merci pour le complément d'infos, je vais essayer. En tout cas, l'authentification marche parfaitement. C'est ce que je souhaitais. Et c'est vrai, désolé de ne pas avoir mis en avant ce qui marchait bien.

Pourquoi cela ralentit le code? Je ne trouve aucun ralentissement dans l'exécution dans mon fichier...

Gabin

Re-bonsoir,

Je viens d'essayer avec les infos complémentaires et cela marche parfaitement.

Merci beaucoup pour cette aide précieuse, je vais pouvoir avancer dans le fichier.

J'ai d'autres idées en tête mais je ne pense pas pouvoir le faire seul. Mes compétences en VBA sont limitées au macros basiques. Je reposterai peut-être plus tard sur le forum.

Merci encore,

Gabin

Rechercher des sujets similaires à "systeme authentification utilisateur"