O
olivier
Guest
Bonsoir à tous,
J'ai de nouveau un petit problème..., oui je sais ça m'arrive souvent!!
J'ai un userform qui reste en arrière plan alors que je ne voudrais plus qu'il s'affiche.
Je m'explique, ou en tout cas je vais détailler la procèdure :
ds une feuille de classeur, j'ai plusieurs boutons qui me permettent de lancer des recherches ds une base d'une autre feuille
-en cliquant sur l'un d'eux, un userform s'affiche avec une liste deroulante et plusieurs cases qui affichent les différentes sociétés ciblées grace à la recherche; ds ce userform j'ai deux boutons : un pour revenir au menu ( pas de souci ça fonctionne ) et l'autre pour un accès direct à la base ( pas de souci non plus )
- cet accès est protégé par mot de passe, un userform demandant ce mot de passe s'affiche, 2 choix de nouveau : un pour annuler et revenir au menu ( ça marche ) et l'autre de validation de ce mot de passe
- c'est là que ça merdouille, car après validation j'aurais aimé que la feuille "base de données " s'affiche et que le userform de menu associé apparaisse hors ce n'est pas le cas.
je reste sur ma page de démarrage avec mes menu, mon userform de recherche, mon userform de mot de passe et enfin mon userform de menu de base, brref un empilement de userform pas joli du tout...
voilà le big souci
je joint les codes de mes userform plus bas
merci de votre future qui me sera obligatoirement utile
olivier
code de user_recherche
Private Sub Retour_menu_Click()
Sheets("Menu principal").Select
Unload Me
End Sub
Private Sub Accesbase_motdepasse_Click()
Mot_de_passe.Show
Unload Me
End Sub
Private Sub societe_Change()
' Envoye la position de la liste deroulante dans i
i = societe.ListIndex
' Donne à la textbox la valeur correspondant au nom
gisement = Worksheets("Recherche").Cells(i + 6, 1).Value
adresse = Worksheets("Recherche").Cells(i + 6, 3).Value
activites = Worksheets("Recherche").Cells(i + 6, 4).Value
tel = Worksheets("Recherche").Cells(i + 6, 5).Value
Fax = Worksheets("Recherche").Cells(i + 6, 6).Value
mail = Worksheets("Recherche").Cells(i + 6, 7).Value
web = Worksheets("Recherche").Cells(i + 6, 8).Value
contact = Worksheets("Recherche").Cells(i + 6, 9).Value
ism = Worksheets("Recherche").Cells(i + 6, 10).Value
rov = Worksheets("Recherche").Cells(i + 6, 11).Value
smi = Worksheets("Recherche").Cells(i + 6, 12).Value
pos = Worksheets("Recherche").Cells(i + 6, 13).Value
cam = Worksheets("Recherche").Cells(i + 6, 14).Value
trasoum = Worksheets("Recherche").Cells(i + 6, 15).Value
porteur = Worksheets("Recherche").Cells(i + 6, 16).Value
End Sub
Private Sub UserForm_Activate()
Application.ScreenUpdating = False
Sheets("Base de données").Select
Range("A55").Select
Selection.AutoFilter
Selection.AutoFilter Field:=16, Criteria1:=True
Range("a650").Select
Selection.Copy
Sheets("Recherche").Select
Range("A6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A6").Select
Sheets("Base de données").Select
Range("A55").Select
Selection.AutoFilter
Range("A6").Select
Sheets("Recherche").Select
Range("A6").Select
' Declaration de la variable i
Dim i As Integer
Dernieresociete = Range("b6").End(xlDown).Address
' Plage de données pour afficher dans liste déroulante
societe.RowSource = "b6:" & Dernieresociete
' Afficher le premier nom de la liste (0 = 1)
societe.ListIndex = 0
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
Code de user mot_de_passe
Private Sub UserForm_Initialize()
PasDeCroix Me
TextBox1.Value = ""
End Sub
Private Sub Validez_Click()
If TextBox1.Value = "1234" Then
TextBox1.Value = ""
Unload Mot_de_passe
Sheets("Base de données").Select
Menu.Show
Else
MsgBox "Vous n'avez pas accès à cette cellule"
Unload Mot_de_passe
Sheets("Menu principal").Select
End If
End Sub
Private Sub retourmenu_Click()
Unload Mot_de_passe
Sheets("Menu principal").Select
End Sub
Code menu base de données
Private Sub Nouvelentree_Click()
Unload Menu
Sheets("Base de données").Select
Formulaire.Show
End Sub
Private Sub Recherche_Click()
Unload Menu
Recherche.Show
End Sub
Private Sub CommandButton4_Click()
Unload Menu
Sheets("Menu principal").Select
End Sub
Private Sub UserForm_Activate()
Sheets("Base de données").Select
Range("a1").Select
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
J'ai de nouveau un petit problème..., oui je sais ça m'arrive souvent!!
J'ai un userform qui reste en arrière plan alors que je ne voudrais plus qu'il s'affiche.
Je m'explique, ou en tout cas je vais détailler la procèdure :
ds une feuille de classeur, j'ai plusieurs boutons qui me permettent de lancer des recherches ds une base d'une autre feuille
-en cliquant sur l'un d'eux, un userform s'affiche avec une liste deroulante et plusieurs cases qui affichent les différentes sociétés ciblées grace à la recherche; ds ce userform j'ai deux boutons : un pour revenir au menu ( pas de souci ça fonctionne ) et l'autre pour un accès direct à la base ( pas de souci non plus )
- cet accès est protégé par mot de passe, un userform demandant ce mot de passe s'affiche, 2 choix de nouveau : un pour annuler et revenir au menu ( ça marche ) et l'autre de validation de ce mot de passe
- c'est là que ça merdouille, car après validation j'aurais aimé que la feuille "base de données " s'affiche et que le userform de menu associé apparaisse hors ce n'est pas le cas.
je reste sur ma page de démarrage avec mes menu, mon userform de recherche, mon userform de mot de passe et enfin mon userform de menu de base, brref un empilement de userform pas joli du tout...
voilà le big souci
je joint les codes de mes userform plus bas
merci de votre future qui me sera obligatoirement utile
olivier
code de user_recherche
Private Sub Retour_menu_Click()
Sheets("Menu principal").Select
Unload Me
End Sub
Private Sub Accesbase_motdepasse_Click()
Mot_de_passe.Show
Unload Me
End Sub
Private Sub societe_Change()
' Envoye la position de la liste deroulante dans i
i = societe.ListIndex
' Donne à la textbox la valeur correspondant au nom
gisement = Worksheets("Recherche").Cells(i + 6, 1).Value
adresse = Worksheets("Recherche").Cells(i + 6, 3).Value
activites = Worksheets("Recherche").Cells(i + 6, 4).Value
tel = Worksheets("Recherche").Cells(i + 6, 5).Value
Fax = Worksheets("Recherche").Cells(i + 6, 6).Value
mail = Worksheets("Recherche").Cells(i + 6, 7).Value
web = Worksheets("Recherche").Cells(i + 6, 8).Value
contact = Worksheets("Recherche").Cells(i + 6, 9).Value
ism = Worksheets("Recherche").Cells(i + 6, 10).Value
rov = Worksheets("Recherche").Cells(i + 6, 11).Value
smi = Worksheets("Recherche").Cells(i + 6, 12).Value
pos = Worksheets("Recherche").Cells(i + 6, 13).Value
cam = Worksheets("Recherche").Cells(i + 6, 14).Value
trasoum = Worksheets("Recherche").Cells(i + 6, 15).Value
porteur = Worksheets("Recherche").Cells(i + 6, 16).Value
End Sub
Private Sub UserForm_Activate()
Application.ScreenUpdating = False
Sheets("Base de données").Select
Range("A55").Select
Selection.AutoFilter
Selection.AutoFilter Field:=16, Criteria1:=True
Range("a650").Select
Selection.Copy
Sheets("Recherche").Select
Range("A6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A6").Select
Sheets("Base de données").Select
Range("A55").Select
Selection.AutoFilter
Range("A6").Select
Sheets("Recherche").Select
Range("A6").Select
' Declaration de la variable i
Dim i As Integer
Dernieresociete = Range("b6").End(xlDown).Address
' Plage de données pour afficher dans liste déroulante
societe.RowSource = "b6:" & Dernieresociete
' Afficher le premier nom de la liste (0 = 1)
societe.ListIndex = 0
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub
Code de user mot_de_passe
Private Sub UserForm_Initialize()
PasDeCroix Me
TextBox1.Value = ""
End Sub
Private Sub Validez_Click()
If TextBox1.Value = "1234" Then
TextBox1.Value = ""
Unload Mot_de_passe
Sheets("Base de données").Select
Menu.Show
Else
MsgBox "Vous n'avez pas accès à cette cellule"
Unload Mot_de_passe
Sheets("Menu principal").Select
End If
End Sub
Private Sub retourmenu_Click()
Unload Mot_de_passe
Sheets("Menu principal").Select
End Sub
Code menu base de données
Private Sub Nouvelentree_Click()
Unload Menu
Sheets("Base de données").Select
Formulaire.Show
End Sub
Private Sub Recherche_Click()
Unload Menu
Recherche.Show
End Sub
Private Sub CommandButton4_Click()
Unload Menu
Sheets("Menu principal").Select
End Sub
Private Sub UserForm_Activate()
Sheets("Base de données").Select
Range("a1").Select
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End Sub