Problème mot de passe utilisateur via VBA
Résolu/Fermé
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
-
4 juin 2014 à 13:42
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 5 juin 2014 à 11:18
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 5 juin 2014 à 11:18
A voir également:
- Problème mot de passe utilisateur via VBA
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Trousseau mot de passe iphone - Guide
- Identifiant et mot de passe - Guide
- Réinitialiser pc sans mot de passe - Guide
9 réponses
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
Modifié par eriiic le 4/06/2014 à 15:37
Modifié par eriiic le 4/06/2014 à 15:37
Bonjour,
Sheets(.Cells(1, i).Value).Visible = True
Erreur d'exécution '9' L'indice n'appartient pas à la sélection
Cette feuille n'existe sans doute plus sous ce nom. Tout compte : espace, majuscules etc
En débogage regarde la valeur de i, ensuite le contenu de .Cells(1, i) (dans la feuille paramétrage donc) qui contient le nom de la feuille.
@skk201 : s'il y avait de grossières erreurs dans la fiche pratique je pense qu'elles seraient ressorties plus tôt. Je pense plutôt à une mauvaise manip utilisateur.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Sheets(.Cells(1, i).Value).Visible = True
Erreur d'exécution '9' L'indice n'appartient pas à la sélection
Cette feuille n'existe sans doute plus sous ce nom. Tout compte : espace, majuscules etc
En débogage regarde la valeur de i, ensuite le contenu de .Cells(1, i) (dans la feuille paramétrage donc) qui contient le nom de la feuille.
@skk201 : s'il y avait de grossières erreurs dans la fiche pratique je pense qu'elles seraient ressorties plus tôt. Je pense plutôt à une mauvaise manip utilisateur.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
4 juin 2014 à 13:56
4 juin 2014 à 13:56
Actuellement ça serait pas plus simple de faire un système que les feuille s'affiche selon le nom d'utilisateur ?
Exemple si ton mon d'utilisateur est JB6161, alors ça affiche la feuille JB6161 ?
Exemple si ton mon d'utilisateur est JB6161, alors ça affiche la feuille JB6161 ?
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 14:12
4 juin 2014 à 14:12
Oui je te cache pas que ce serait plus simple mais c'est pour une entreprise donc j'aimerai garder cette idée si possible, surtout que cette méthode fonctionnait très bien hier !
Le débogage m'indique l'erreur en gras ci dessous avec comme message d'erreur une fois que je me suis logué: " Erreur d'exécution '9' L'indice n'appartient pas à la sélection " et " Impossible d'éxecuter le code en mode arrêt "
Sub AfficheFeuilles(Utilisateur As String)
Dim Col As Byte, i As Byte, Lig As Integer
With Sheets("parametrage")
'dans la feuille paramétrage
'comme on va boucler de la colonne 4 à la dernière colonne, on stocke le n° de la dern colonne :
Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'on cherche colonne A le nom d'utilisateur saisi et on stocke son num de ligne
Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
For i = 3 To Col
If UCase(.Cells(Lig, i)) = "X" Then 'si on trouve un "X" dans la cellule
Sheets(.Cells(1, i).Value).Visible = True 'on affiche la feuille
Else
Sheets(.Cells(1, i).Value).Visible = xlSheetVeryHidden 'sinon on la masque
End If
Next i
End With
End Sub
Le débogage m'indique l'erreur en gras ci dessous avec comme message d'erreur une fois que je me suis logué: " Erreur d'exécution '9' L'indice n'appartient pas à la sélection " et " Impossible d'éxecuter le code en mode arrêt "
Sub AfficheFeuilles(Utilisateur As String)
Dim Col As Byte, i As Byte, Lig As Integer
With Sheets("parametrage")
'dans la feuille paramétrage
'comme on va boucler de la colonne 4 à la dernière colonne, on stocke le n° de la dern colonne :
Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'on cherche colonne A le nom d'utilisateur saisi et on stocke son num de ligne
Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
For i = 3 To Col
If UCase(.Cells(Lig, i)) = "X" Then 'si on trouve un "X" dans la cellule
Sheets(.Cells(1, i).Value).Visible = True 'on affiche la feuille
Else
Sheets(.Cells(1, i).Value).Visible = xlSheetVeryHidden 'sinon on la masque
End If
Next i
End With
End Sub
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Modifié par skk201 le 4/06/2014 à 15:24
Modifié par skk201 le 4/06/2014 à 15:24
Sheets(Cells(1, i).Value)
Enlève le . avant Cel. Et tû va avoir le m'eme problème juste en dessous.
Et pour récupéré le nom de l'utilisateur il faut écrire
Enivron("username")
Exemple :
Msgbox Environ("username")
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Modifié par skk201 le 4/06/2014 à 15:27
Modifié par skk201 le 4/06/2014 à 15:27
Rectification il faut que tu écrive :
J'avais pas vu le With
Enfin moi j'écrirai :
.Sheets(Cells(1, i).Value).Visible = True 'on affiche la feuille
Else
.Sheets(Cells(1, i).Value).Visible = xlSheetVeryHidden 'sinon on la masque
J'avais pas vu le With
Enfin moi j'écrirai :
Sub AfficheFeuilles(Utilisateur As String)
Dim Col As Byte, i As Byte, Lig As Integer
With Sheets("parametrage")
'dans la feuille paramétrage
'comme on va boucler de la colonne 4 à la dernière colonne, on stocke le n° de la dern colonne :
Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
'on cherche colonne A le nom d'utilisateur saisi et on stocke son num de ligne
Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
End With
For i = 3 To Col
If UCase(Cells(Lig, i)) = "X" Then 'si on trouve un "X" dans la cellule
Sheets(Cells(1, i).Value).Visible = True 'on affiche la feuille
Else
Sheets(Cells(1, i).Value).Visible = xlSheetVeryHidden 'sinon on la masque
End If
Next i
End Sub
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 16:00
4 juin 2014 à 16:00
J'ai tapé exactement le même code hier et cela fonctionnait très bien, comme le dit eriiic, ça doit venir d'une erreur au niveau du nom de la feuille je pense.
Merci pour ta réponse en tout cas
Merci pour ta réponse en tout cas
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 16:05
4 juin 2014 à 16:05
Bonjour eriiic,
Alors la valeur de i=4 et pour la valeur de .Cells(1,i) je n'arrive pas à la voir dans la feuille parametrage vu que justement cette feuille ne s'affiche plus
Cdlt
Alors la valeur de i=4 et pour la valeur de .Cells(1,i) je n'arrive pas à la voir dans la feuille parametrage vu que justement cette feuille ne s'affiche plus
Cdlt
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
4 juin 2014 à 16:20
4 juin 2014 à 16:20
Si elle existe toujours tu peux toujours la rendre visible dans l'éditeur VBA.
Dans ton projet tu séléectionne la feuille et dans le propriété en bas tu change la porpiété "Visible" tu choisi : "-1 - xlSheetVisible" et la feuille sera a nouveau visible
Dans ton projet tu séléectionne la feuille et dans le propriété en bas tu change la porpiété "Visible" tu choisi : "-1 - xlSheetVisible" et la feuille sera a nouveau visible
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 16:32
4 juin 2014 à 16:32
Ah yes, merci !
Et donc "1 " correspond à la ligne ou la colonne ?
Et donc "1 " correspond à la ligne ou la colonne ?
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
4 juin 2014 à 16:46
4 juin 2014 à 16:46
Cells(Ligne, Colonne)
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 16:50
4 juin 2014 à 16:50
D'accord, alors du coup ça correspond à une feuille qui se nomme " Base de données "
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 16:43
4 juin 2014 à 16:43
Je vous transmet mon fichier, si ça peut vous aider !
https://www.cjoint.com/?DFeqQxYGWXl
https://www.cjoint.com/?DFeqQxYGWXl
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 243
4 juin 2014 à 17:56
4 juin 2014 à 17:56
"Base de donées" avec un seul n dans parametrage!D1 c'est normal ?
eric
eric
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 17:59
4 juin 2014 à 17:59
Non non, c'était mon erreur, je m'en suis rendu compte il y a 10min...
Tout ça à cause d'une erreur de frappe !
J'ai une autre question pendant que j'y suis, je sais qu'il est possible de changer les couleurs d'une cellule en fonction de certaines valeurs mais est il possible de le faire par rapport à un décompte ?
Merci beaucoup pour vos réponses en tout cas !
Tout ça à cause d'une erreur de frappe !
J'ai une autre question pendant que j'y suis, je sais qu'il est possible de changer les couleurs d'une cellule en fonction de certaines valeurs mais est il possible de le faire par rapport à un décompte ?
Merci beaucoup pour vos réponses en tout cas !
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
5 juin 2014 à 08:39
5 juin 2014 à 08:39
Qu'est-ce que tu entend par un décompte ?
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
>
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
5 juin 2014 à 09:20
5 juin 2014 à 09:20
Un compte à rebours si tu préfère.
skk201
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
5 juin 2014 à 11:18
5 juin 2014 à 11:18
Tu peux nous en dire plus ?
Bonjour
modification de la macro
Option Base 1
Option Explicit
Sub AfficheFeuilles(Utilisateur As String)
Dim Col As Byte, i As Byte, Lig As Integer, F As Integer
Dim Onglet()
Onglet = Array(Feuil2.Name, Feuil3.Name, Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name)
With Feuil6
Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
F = 1
For i = 3 To Col
If UCase(.Cells(Lig, i)) = "X" Then
Sheets(Onglet(F)).Visible = -1
Else
Sheets(Onglet(F)).Visible = 2
End If
F = F + 1
Next i
End With
End Sub
a toi de voir pense a changer la feuille parametre
A+
Maurice
modification de la macro
Option Base 1
Option Explicit
Sub AfficheFeuilles(Utilisateur As String)
Dim Col As Byte, i As Byte, Lig As Integer, F As Integer
Dim Onglet()
Onglet = Array(Feuil2.Name, Feuil3.Name, Feuil4.Name, Feuil5.Name, Feuil6.Name, Feuil7.Name)
With Feuil6
Col = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
Lig = .Columns(1).Cells.Find(Utilisateur, lookat:=xlWhole).Row
F = 1
For i = 3 To Col
If UCase(.Cells(Lig, i)) = "X" Then
Sheets(Onglet(F)).Visible = -1
Else
Sheets(Onglet(F)).Visible = 2
End If
F = F + 1
Next i
End With
End Sub
a toi de voir pense a changer la feuille parametre
A+
Maurice
Jb6161
Messages postés
49
Date d'inscription
mardi 27 mai 2014
Statut
Membre
Dernière intervention
13 juin 2014
4 juin 2014 à 18:04
4 juin 2014 à 18:04
Problème résolu, il s'agissait d'une faute de frappe dans une de mes feuilles excel, merci quand même en tout cas !