Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

j'mesuis mal exprimé

1 réponse
Avatar
Pascal
Bonjour,
suite à mon fil Textbox, je reprends car je me suis mal exprimé.
Je suis en train de monter une application destinée à enregistrer les
plaintes clients de 24 usines.
L'administrateur doit avoir accés à toutes les données et envoie le stats de
l'usine 1 à l'administrateur 1 etc etc
Précédement j'avais fais 24 classeurs car les données de l'usine 1 ne
regarde pas l'usine 2 .
Je pensais avoir touvé plus simple en filtrant les données de ma base puis
en les collant sur une feuille B1 source de mes TCD.
Ensuite sur le WorkBook Open j'apelle un Userform dans lequel les usines
saisissent un mot de passe ledit mot de passe étant le critère de mon
filtre.

Mon soucis est le suivant si dans mon text box je saisie n'importe quoi cela
ne filtre pas bien sûr et surtout plante l'appli.
Je veux forcer la saisie en obligeant les utilisateurs à saisir par exemple
motdepasse1, motdepasse2 etc.
Si je le fais avec une combo cela fonctionne, mais tous le monde a accés à
tout les mots de passe et donc à la totalité du classeur.

Donc je cherchais en ayant nommée une zone dans laquelle les Mdp sont
stockés [Mdp]

If TextBox1.value<>[Mdp] then
Call autremacro

Et bien sûrt cela ne fonctionne pas.

J'ai fais tout un truc compliqué avec des case Select qui est lourd.

Aurait il selon vous une autre solution

Merci

Pascal

1 réponse

Avatar
LE TROLL
Bonjour,

On se sert généralement d'un fichier pour faire ça, fichier binaire pour
éviter une lecture directe, sinon on fait un petit algorithme de cryptage
avant les accès au fichier, tout dépend du risque et du niveau des personnes
qui saisissent...
Donc, philosophie Windows, on saisit, puis quand on valide, on va voir dans
le fichier si le mdp existe, on peu y associer d'autre éléments, puis on
exécute ce qui est prévu en fonction du résultat...

Sinon, dans un text box on peut lire le contenu et le comparer

sub text1_change()
select case text1
case "dupont"
'traitement
case "durand"
'traitement
case else
'traitement de refus
end select
end sub

On peut aussi le comparer ainsi :
dim i as long
i = StrComp(mdp, text1, 1)
if i <> 0 then exit sub

Mais un mot de passe nécessite une gestion plus complexe, il faut permettre
de le déclarer, de le tester, de le stocker, de savoir quoi faire en cas
d'absence du fichier des mdp, de le créer ou recréer, du cas de la première
création, de la disparition, de la modification du mdp, de la sauvegarde...
C'est une gestion complète et élaborée d'un fichier qu'il faut...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"Pascal" a écrit dans le message de
news:%
Bonjour,
suite à mon fil Textbox, je reprends car je me suis mal exprimé.
Je suis en train de monter une application destinée à enregistrer les
plaintes clients de 24 usines.
L'administrateur doit avoir accés à toutes les données et envoie le stats
de l'usine 1 à l'administrateur 1 etc etc
Précédement j'avais fais 24 classeurs car les données de l'usine 1 ne
regarde pas l'usine 2 .
Je pensais avoir touvé plus simple en filtrant les données de ma base puis
en les collant sur une feuille B1 source de mes TCD.
Ensuite sur le WorkBook Open j'apelle un Userform dans lequel les usines
saisissent un mot de passe ledit mot de passe étant le critère de mon
filtre.

Mon soucis est le suivant si dans mon text box je saisie n'importe quoi
cela ne filtre pas bien sûr et surtout plante l'appli.
Je veux forcer la saisie en obligeant les utilisateurs à saisir par
exemple motdepasse1, motdepasse2 etc.
Si je le fais avec une combo cela fonctionne, mais tous le monde a accés à
tout les mots de passe et donc à la totalité du classeur.

Donc je cherchais en ayant nommée une zone dans laquelle les Mdp sont
stockés [Mdp]

If TextBox1.value<>[Mdp] then
Call autremacro

Et bien sûrt cela ne fonctionne pas.

J'ai fais tout un truc compliqué avec des case Select qui est lourd.

Aurait il selon vous une autre solution

Merci

Pascal