userform avec onglet ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion alainca31
  • 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 !

A

alainca31

Guest
Bonjour
J'ai crée une userform avec plusieurs onglets, en fonction de la personne qui ouvre le programme certain onglet peuvent etre desactivé.
tout cela fonctionné parfaitement sur excel 2003, par contre impossible de le faire fonctionner sur excel 2007 il me mets une erreur 13
si quelqu'un peut me venir en aide merci d'avance
voici une partie du code:
'méthode qui active que certaines pages de l'application
'en fonction des droits de l'utilisateur connecté

Public Sub typeUtil()
Dim p As Page
If id = "util" Then
UserForm1.MultiPage1.Value = 0
Set p = UserForm1.MultiPage1.Pages(0)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(1)
p.Enabled = False
Set p = UserForm1.MultiPage1.Pages(2)
p.Enabled = False
Set p = UserForm1.MultiPage1.Pages(3)
p.Enabled = False
Set p = UserForm1.MultiPage1.Pages(4)
p.Enabled = True
End If
If id = "admin" Then
UserForm1.MultiPage1.Value = 1
Set p = UserForm1.MultiPage1.Pages(0)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(1)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(2)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(3)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(4)
'p.Enabled = True
End If
If id = "superadmin" Then
UserForm1.MultiPage1.Value = 1
Set p = UserForm1.MultiPage1.Pages(0)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(1)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(2)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(3)
p.Enabled = True
Set p = UserForm1.MultiPage1.Pages(4)
p.Enabled = True
End If
Cordialement
 
Re : userform avec onglet ne fonctionne pas

Bonsoir Alainca31 🙂,
Au dessus de la fenêtre de message, il y a un petit # qui permet de mettre des balises pour le code 🙄...
Bon, en supprimant As Page, ça fonctionne.
Mais j'écrirais plutôt comme celà, sans p 😛...
Code:
Dim ID As String
If ID = "util" Then
UserForm1.MultiPage1.Value = 0
UserForm1.MultiPage1.Pages(0).Enabled = True
UserForm1.MultiPage1.Pages(1).Enabled = False
UserForm1.MultiPage1.Pages(2).Enabled = False
UserForm1.MultiPage1.Pages(3).Enabled = False
UserForm1.MultiPage1.Pages(4).Enabled = True
End If
If ID = "admin" Then
UserForm1.MultiPage1.Value = 1
UserForm1.MultiPage1.Pages(0).Enabled = True
UserForm1.MultiPage1.Pages(1).Enabled = True
UserForm1.MultiPage1.Pages(2).Enabled = True
UserForm1.MultiPage1.Pages(3).Enabled = True
UserForm1.MultiPage1.Pages(4).Enabled = True
End If
If ID = "superadmin" Then
UserForm1.MultiPage1.Value = 1
UserForm1.MultiPage1.Pages(0).Enabled = True
UserForm1.MultiPage1.Pages(1).Enabled = True
UserForm1.MultiPage1.Pages(2).Enabled = True
UserForm1.MultiPage1.Pages(3).Enabled = True
UserForm1.MultiPage1.Pages(4).Enabled = True
End If
Bon WE 😎
 
Re : userform avec onglet ne fonctionne pas

Bonjour,

Bonjour JNP 🙂, CC 🙂

Je peux jouer? 😀

Code:
Dim ID As String
With UserForm1.MultiPage1
    .Value = IIf(ID = "util", 0, 1)
    .Pages(0).Enabled = True
    .Pages(1).Enabled = IIf(ID = "util", False, True)
    .Pages(2).Enabled = IIf(ID = "util", False, True)
    .Pages(3).Enabled = IIf(ID = "util", False, True)
    .Pages(4).Enabled = True
End With

Bonne nuit
 
- 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
907
Réponses
3
Affichages
922
Réponses
7
Affichages
366
Retour