Associer deux codes VBA a une cellule

Bonjour j'aimerai savoir comment puis-je fair pour associer ces deux code:

Sub deconnexion()

Range("G9").Select

Selection.ClearContents

For Each s In ActiveWorkbook.Sheets

If s.Name <> "Accueil" Then s.Visible = 2

Next

End Sub

et celui-ci:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ZoneAEffacer As Range

Set ZoneAEffacer = Range("G9")

If Target.Address = "$G$6" Then ZoneAEffacer.ClearContents

End Sub

et surtout que sur la premiere page

Merci

10essais.xlsx (12.43 Ko)

C'est à dire ?


Je crois avoir compris en fait : modifie le deuxieme code comme ça :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ZoneAEffacer As Range

Set ZoneAEffacer = Range("G9")
If Target.Address = "$G$6" Then
ZoneAEffacer.ClearContents
deconnexion
end if
End Sub

j'aimerai que quand je ferme le fichier la case G9 s'efface mais aussi quand je change la valeur dans la liste déroulante, la case G9 s'efface

Bonjour pour etre plus clair, j'aimerai que quand on ferme le programme, la case G9 se vide mais quand on change dans la liste deroulante en G6 lase G9 se vide ainsi que quand on clique se deconnesion

A tester :


Edit : j'avais oublié d'effacer G9 au changement de G6, voilà une mise à jour :

16parametrageacces.xlsm (181.84 Ko)

C'est vraiment top, c'est ce que je recherchais. tu crois qu'il est possible que quand on tape le mot de passe la visualisation soit des ****

J'y ai pensé en faisant le fichier mais je n'ai pas su comment faire, désolé :/

Peut être qu'un expert qui lit ce sujet sait comment faire ?


J'avais eu l'idée de changer la police en Webdings pour que des symboles s'affichent à la place du texte mais on peut toujours pour le texte dans la barre de formule quand on clique sur la cellule.

Merci, je vais chercher de mon coté,

et je cherche aussi que quand je tape sur la touche entrée en "G9" après avoir tapé le mot de passe et que celui ci est juste ou faux, que c'est les même conséquence que le bouton valid

Petit rajout que j'avais oublié aussi : quand tu changes de nom utilisateur ca remasque les autres feuilles :

16parametrageacces.xlsm (181.90 Ko)

c'est vrai que c'est encore mieux. Et pour:

je cherche aussi que quand je tape sur la touche entrée en "G9" après avoir tapé le mot de passe et que celui ci est juste ou faux, que c'est les même conséquence que le bouton valid

Merci

A tester :

18parametrageacces.xlsm (182.45 Ko)

Bonjour,

ajout d'un textbox pour le pw. Il faut mettre la propriété passwordChar à *

Je suis parti du dernier fichier, j'ai aussi supprimé la ligne qui vide l'ident dès qu'on le saisit sinon je ne vois pas comment on peut valider la connexion.

eric

15parametrageacces.xlsm (183.08 Ko)

@eriiic

Tu as du prendre l'avant dernier fichier ^^ je m'étais rendu compte de mon erreur qui efface l'identifiant quand on le saisi.

J'ai revu un peu la mise en pqge du fichier.

Il me resterai avoir la touche entrée sur le textbox identique au bouton valid

et quelques petits soucis expliqué dans le fichier.

Merci

11parametrageacces.xlsm (219.47 Ko)

oui, c'était l'avant dernier, je n'avais pas vu la page 2.

1) Enter fait

2) ton image n'est pas une image activeX et n'as donc pas de propriété .visible.

Je la recouvre par une autre qui la masque. Tu peux insérer ton image dedans et supprimer l'ancienne, auquel cas il faudra que tu inverses la logique image1.visible = True/False

eric

17parametrageacces.xlsm (219.58 Ko)

Un grand merci, je cherche a comprendre comment faire apparaitre et faire disparaitre les forme en fonctin de la connexion.

Pour l'image 1 qui s'enleve que quand le admin est connecté

Sub connexion()
    Dim loginCorrect As Boolean    'si login est correct -> true
    Dim mdpCorrect As Boolean    'si mdp est correct -> true
    Dim x As Integer    'variable pour parcourir les lignes paramètre
    Dim LigUtil As Integer    'variable pour stocker la ligne ou se trouve l'utilisateur dans les paramètre
    loginCorrect = False
    mdpCorrect = False
    x = 2

    login = Range("G6").Value
    MdP = Feuil1.TextBox1

    If login = "" Or MdP = "" Then
        MsgBox "Le nom d'utilisateur ou le mot de passe n'est pas renseigné."
        Exit Sub
    End If

    While Sheets("Paramètre").Cells(x, 1) <> ""
        If CStr(Sheets("Paramètre").Cells(x, 1)) = CStr(login) Then loginCorrect = True
        x = x + 1
    Wend

    If loginCorrect = False Then MsgBox "Nom d'utilisateur ou mot de passe incorrect."

    x = 2

    If loginCorrect = True Then If CStr(WorksheetFunction.VLookup(login, Sheets("Paramètre").Range("A1", "I5"), 2, False)) = CStr(MdP) Then mdpCorrect = True Else MsgBox "Nom d'utilisateur ou mot de passe incorrect."
    If loginCorrect = True And mdpCorrect = True Then
        Feuil1.TextBox1 = ""
        LigUtil = Sheets("Paramètre").Cells.Find(login).Row
        For i = 3 To 9
            feuille = Sheets("Paramètre").Cells(1, i)
            If Sheets("Paramètre").Cells(LigUtil, i) = "x" Then Sheets(feuille).Visible = True
        Next
        Feuil1.Image1.Visible = login <> "Admin"    End If

End Sub
Sub deconnexion()

    For Each s In ActiveWorkbook.Sheets
        If s.Name <> "Accueil" Then s.Visible = 2
    Next
    'Sheets("Accueil").Range("G6", "H10").ClearContents
    Feuil1.TextBox1 = ""
    Feuil1.Image1.Visible = True

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ZoneAEffacer As Range

    Set ZoneAEffacer = Range("c9")
    If Target.Address = "$c$6" Then ZoneAEffacer.ClearContents
End Sub

J'aimerai faire une chose ressemblante pour le Rectangle3 "déconnexion", que quand un utilisateur est connecté qu'il soit visible

Merci

Tu crois vraiment que ce soit nécessaire de faire une usine à gaz pour des fioritures totalement inutiles ?

S'il veut cliquer dessus pour rien et bien laisse-le faire. Il se lassera avant toi...

J'essaye surtout d'apprendre et de comprendre ça peut me servir pour d'autres application

Ok. Prend des notes alors :

2) ton image n'est pas une image activeX et n'a donc pas de propriété .visible.

J'ai trouvé !!!

Feuil1.Image1.Visible = login <> "Admin"

Feuil1.Image2.Visible = login <> "LoginCorrect"

Feuil1.Image1.Visible = True

Feuil1.Image2.Visible = true

Rechercher des sujets similaires à "associer deux codes vba"