bon, j'ai résolu certains trucs.
Maintenant, il m'ouvre Excel, avec ma boite de dialogue au début.
Si je clique annuler, je quitte, OK
Mais, je n'ai rien dans ma liste déroulante.
Si je tape "2005" "OK", il me met "Erreur, objet requis"
ça plante où là?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
pose pas de problème sur mon PC. d'ailleurs, quand tu cliques sur 2005 ou 2006, tu n'as même pas le temps de cliquer sur OK car je n'ai pas prévu dans le programme que ca soit nécessaire. le OK est seulement là pour la validation du mdp une fois rentré dans le textbox après avoir cliqué sur Administrtaue dasn le combobox. De plus , il y a un controle qui fait qeu si on frappe OK et que ce qui est frappé ne correspond pas aux items, il ne se passe rien. Enfin, il ne peut pas y avoir rien dans le combobox car soit la macro se plante pendant la déclaration Initialize et donc n'affiche pas le userform, soit ne plante pas et affiche le userform et dans ce cas, le combobox a été rempli lors de l'initialize.
Donne plus de détails précis.
A+
Re bonjour,
bon, j'ai résolu certains trucs. Maintenant, il m'ouvre Excel, avec ma boite de dialogue au début. Si je clique annuler, je quitte, OK Mais, je n'ai rien dans ma liste déroulante. Si je tape "2005" "OK", il me met "Erreur, objet requis" ça plante où là?
Merci d'avance. YANN
pose pas de problème sur mon PC. d'ailleurs, quand tu cliques sur 2005 ou
2006, tu n'as même pas le temps de cliquer sur OK car je n'ai pas prévu dans
le programme que ca soit nécessaire. le OK est seulement là pour la
validation du mdp une fois rentré dans le textbox après avoir cliqué sur
Administrtaue dasn le combobox.
De plus , il y a un controle qui fait qeu si on frappe OK et que ce qui est
frappé ne correspond pas aux items, il ne se passe rien.
Enfin, il ne peut pas y avoir rien dans le combobox car soit la macro se
plante pendant la déclaration Initialize et donc n'affiche pas le userform,
soit ne plante pas et affiche le userform et dans ce cas, le combobox a été
rempli lors de l'initialize.
Donne plus de détails précis.
A+
Re bonjour,
bon, j'ai résolu certains trucs.
Maintenant, il m'ouvre Excel, avec ma boite de dialogue au début.
Si je clique annuler, je quitte, OK
Mais, je n'ai rien dans ma liste déroulante.
Si je tape "2005" "OK", il me met "Erreur, objet requis"
ça plante où là?
pose pas de problème sur mon PC. d'ailleurs, quand tu cliques sur 2005 ou 2006, tu n'as même pas le temps de cliquer sur OK car je n'ai pas prévu dans le programme que ca soit nécessaire. le OK est seulement là pour la validation du mdp une fois rentré dans le textbox après avoir cliqué sur Administrtaue dasn le combobox. De plus , il y a un controle qui fait qeu si on frappe OK et que ce qui est frappé ne correspond pas aux items, il ne se passe rien. Enfin, il ne peut pas y avoir rien dans le combobox car soit la macro se plante pendant la déclaration Initialize et donc n'affiche pas le userform, soit ne plante pas et affiche le userform et dans ce cas, le combobox a été rempli lors de l'initialize.
Donne plus de détails précis.
A+
Re bonjour,
bon, j'ai résolu certains trucs. Maintenant, il m'ouvre Excel, avec ma boite de dialogue au début. Si je clique annuler, je quitte, OK Mais, je n'ai rien dans ma liste déroulante. Si je tape "2005" "OK", il me met "Erreur, objet requis" ça plante où là?
Merci d'avance. YANN
YANN24
OK, donc, je te donne ma macro que j'ai actuellement. Dans ma combobox, tout apparait, meme la Textebox et le Labl. Donc, voilà mon code : (Merci). YANN
Private Declare Function GetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub CommandButton2_Click() 'si l'utilisateur clique sur Annuler, on quitte. Unload Me ThisWorkbook.Close End Sub
Private Sub UserForm1_Initialize() 'empêche l'affichage de la croix de fermeture en utilisant les API 'déclarées en début de module Dim hwnd As Long hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Me.Caption) SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
With Me.ComboBox1 .AddItem "2005" .AddItem "2006" .AddItem "Administrateur" End With
Me.TextBox1.Visible = False Me.Label1.Visible = False End Sub
Private Sub combobox1_Click() Select Case Me.ComboBox1.Value
With Me .ComboBox1.Visible = False With .TextBox1 .Visible = True .SetFocus End With .Label1.Visible = True End With
End Select End Sub Private Sub commandbutton1_Click()
If Me.ComboBox1.Value = "" Then MsgBox "vous n'avez rien saisi" Me.ComboBox1.SetFocus Else If TextBox1.Value = "" Then Else If controlmdp(TextBox1.Value) = True Then ThisWorkbook.IsAddin = False For I = 1 To ThisWorkbook.Sheets.Count Sheets(I).Visible = True Next Unload Me End If End If End If
End Sub Function controlmdp(nommdp) On Error Resume Next tabmdp = Array("aec") trouve = Application.WorksheetFunction.HLookup(nommdp, tabmdp, 1, False) If Err.Number <> 0 Then Err.Clear MsgBox "Vous n'êtes pas autoriser à pénétrer cet espace réservé" Else MsgBox "Autorisation acceptée" controlmdp = True End If End Function
OK, donc, je te donne ma macro que j'ai actuellement. Dans ma combobox, tout
apparait, meme la Textebox et le Labl.
Donc, voilà mon code : (Merci). YANN
Private Declare Function GetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub CommandButton2_Click()
'si l'utilisateur clique sur Annuler, on quitte.
Unload Me
ThisWorkbook.Close
End Sub
Private Sub UserForm1_Initialize()
'empêche l'affichage de la croix de fermeture en utilisant les API
'déclarées en début de module
Dim hwnd As Long
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D")
& "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
With Me.ComboBox1
.AddItem "2005"
.AddItem "2006"
.AddItem "Administrateur"
End With
Me.TextBox1.Visible = False
Me.Label1.Visible = False
End Sub
Private Sub combobox1_Click()
Select Case Me.ComboBox1.Value
With Me
.ComboBox1.Visible = False
With .TextBox1
.Visible = True
.SetFocus
End With
.Label1.Visible = True
End With
End Select
End Sub
Private Sub commandbutton1_Click()
If Me.ComboBox1.Value = "" Then
MsgBox "vous n'avez rien saisi"
Me.ComboBox1.SetFocus
Else
If TextBox1.Value = "" Then
Else
If controlmdp(TextBox1.Value) = True Then
ThisWorkbook.IsAddin = False
For I = 1 To ThisWorkbook.Sheets.Count
Sheets(I).Visible = True
Next
Unload Me
End If
End If
End If
End Sub
Function controlmdp(nommdp)
On Error Resume Next
tabmdp = Array("aec")
trouve = Application.WorksheetFunction.HLookup(nommdp, tabmdp, 1, False)
If Err.Number <> 0 Then
Err.Clear
MsgBox "Vous n'êtes pas autoriser à pénétrer cet espace réservé"
Else
MsgBox "Autorisation acceptée"
controlmdp = True
End If
End Function
OK, donc, je te donne ma macro que j'ai actuellement. Dans ma combobox, tout apparait, meme la Textebox et le Labl. Donc, voilà mon code : (Merci). YANN
Private Declare Function GetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _ (ByVal hwnd As Long, ByVal nIndex As Long, _ ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub CommandButton2_Click() 'si l'utilisateur clique sur Annuler, on quitte. Unload Me ThisWorkbook.Close End Sub
Private Sub UserForm1_Initialize() 'empêche l'affichage de la croix de fermeture en utilisant les API 'déclarées en début de module Dim hwnd As Long hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", "X", "D") & "Frame", Me.Caption) SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
With Me.ComboBox1 .AddItem "2005" .AddItem "2006" .AddItem "Administrateur" End With
Me.TextBox1.Visible = False Me.Label1.Visible = False End Sub
Private Sub combobox1_Click() Select Case Me.ComboBox1.Value
With Me .ComboBox1.Visible = False With .TextBox1 .Visible = True .SetFocus End With .Label1.Visible = True End With
End Select End Sub Private Sub commandbutton1_Click()
If Me.ComboBox1.Value = "" Then MsgBox "vous n'avez rien saisi" Me.ComboBox1.SetFocus Else If TextBox1.Value = "" Then Else If controlmdp(TextBox1.Value) = True Then ThisWorkbook.IsAddin = False For I = 1 To ThisWorkbook.Sheets.Count Sheets(I).Visible = True Next Unload Me End If End If End If
End Sub Function controlmdp(nommdp) On Error Resume Next tabmdp = Array("aec") trouve = Application.WorksheetFunction.HLookup(nommdp, tabmdp, 1, False) If Err.Number <> 0 Then Err.Clear MsgBox "Vous n'êtes pas autoriser à pénétrer cet espace réservé" Else MsgBox "Autorisation acceptée" controlmdp = True End If End Function