Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème fonctionnement code VBA

  • Initiateur de la discussion Initiateur de la discussion Pitouche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pitouche

Guest
Bonjour
Débutant en VBA, j'essaie , grâce à des codes collectés sur différents sites de réaliser un classeur sous excel 2007.
Le but de ce programme est de permettre aux personnes autorisées d'enregistrer dans un classeur , les devis réalisés par type d'activité.
Ce classeur comporte plusieurs feuilles accessibles par mots de passe au moyen d'un userform.
Le code permettant l'accès est le suivant:

Private Sub CommandButton1_Click()
If Me.motpasse <> "" Then
For i = 1 To Range("MotPasse").Count
If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End If
Unload Me
End Sub

Ce code fait référence à une liste de noms de feuilles et de mots de passe correspondants, située dans une feuille nommée "Accueil":

Mot passe Feuille
AdminOV Admin
111111 Automobile
222222 Maintenance
232425 Papeterie
sesame PJ
313233 TOT
414243 TPF
515253 TPF HC
616263 CIM

Ce programme fonctionne pour les 5 premiers mots de passe ,et ne fonctionne plus pour la suite .
Je ne peux pas joindre mon classeur(1Mo)
Pouvez vous m'aider
Merci
 
Re : Problème fonctionnement code VBA

Bonjour Pitouche, et bienvenue à toi,

Sans être catégorique, le problème pourrait venir de la boucle. Essaie en la modifiant comme ceci :

Code:
Private Sub CommandButton1_Click()
If Me.motpasse <> "" Then
For i = 1 To Range("MotPasse").Rows.Count
If UCase(Me.motpasse) = UCase(Range("motpasse")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
End If
Unload Me
End Sub

Vérifie également si la plage nommée "MotPasse" est juste.

Espérant avoir aidé.

Cordialement.
 
Re : Problème fonctionnement code VBA

Bonjour Pitouche et bienvenu, bonjour le forum,

dans ton code Range("MotPasse") fait référence à une plage nommée MotPasse. Peut-être cette plage nommée n'a pas été réactualisée et ne prend en compte que les 5 premières valeurs.

Un petit exemple simplifié avec juste l'UserForm et l'onglet contenant la plage nous permettrait de te proposer une solution.

[Édition]
Bonjour Papou-Net on s'est croisé...
 
Re : Problème fonctionnement code VBA

Bonjour le fil, bonjour le forum,

La solution est bien ce que je t'avais recommandé dans mon premier post (tout comme Papou-net d'ailleurs) mais comme tu n'as même pas daigné faire cas à mon post je ne peux rien de plus pour toi...
 
Re : Problème fonctionnement code VBA

Bonjour le fil, bonjour le forum,

La solution est bien ce que je t'avais recommandé dans mon premier post (tout comme Papou-net d'ailleurs) mais comme tu n'as même pas daigné faire cas à mon post je ne peux rien de plus pour toi...


Robert
Le lien de la réponse précédente ne fonctionne pas ?
 
Re : Problème fonctionnement code VBA

Re Pitouche,

Au vu de ton fichier, et comme te l'a également signalé Robert, le problème est bien dans la définition de ta plage "MotPasse".

Tu dois donc la redéfinir, si ce n'est déjà fait.

Cordialement.
 
Re : Problème fonctionnement code VBA

Re Pitouche,

Ci-joint copie de ton fichier avec mise-à-jour automatique des noms de plage à l'ouverture : macro "MajPlages" dans Module1 lancée depuis le module ThisWorkbook. Pour passer en pièce jointe, j'ai supprimé toutes les feuilles après la deuxième.

Ainsi tu peux ajouter ou retirer des feuilles et des mots de passe sans te soucier de modifier les plages concernées.

Cordialement.
 

Pièces jointes

Re : Problème fonctionnement code VBA


Merci Beaucoup Papou-net
Très sympa
et merci à Robert pour son intervention
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
1 K
Réponses
3
Affichages
877
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
5
Affichages
662
Réponses
3
Affichages
879
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…