Masqué des textbox

Bonjour le forum, Je suis toute nouvelle et j’espère m’intégrer rapidement .

Je vous explique mon problème.

J’ai une combobox avec le nom des onglets et J’aimerais pouvoir masquer des textbox . Par exemple, si je choisis employe, les textbox nomClient , prenomClient, SEXE, et email ne s’affichent pas dans le userform, et ainsi de suite.

J’espère avoir été clair

Bonjour El_Tiger et bienvenue sur le Fofo!

Je ne saisie pas ton problème car ton UserForm est plutôt bien fais

Je lance l'UserForm, je saisie "employees" dans la combobox "choix" et je n'ai que les employées qui apparaissent dans le TextBox en dessous de ton UserForm :0

Peut tu donner plus de précision sur problème s'il te plaît ?

ah merci pour ce compliment, comme je suis débutante, cela me fait plaisir

Alors enfaite, dans l’onglet ADD , j’ai une combobox avec les noms des onglets. Et enfaite j’aimerai que lorsque je choisis employe, les textebox qui correspondent a l’onglet client sois masqué ; selon moi mais je ne sais pas si c’est la bonne méthode, c’est d’écrire tous les attributs de chaque onglet (nomClient , prenomClient, SEXE, email, NomEmploye,PrenomEmploye,typeContrat,poste, idModele nomModele idArticle etc….) et qu’il faudrait ajouter un code qui permettrais d’afficher seulement les attributs à chacun mais que le reste sois masque.

-Si on choisis employe , idModele nomModele idArticle , nomClient , prenomClient, SEXE, email sont masqué mais NomEmploye,PrenomEmploye,typeContrat,poste, idModele, nomModele apparaissent .

-Si on choisi artcleDisponible , NomEmploye,PrenomEmploye,typeContrat,poste, idModele, nomModele, nomClient , prenomClient, SEXE, emailsont masqué mais idModele nomModele idArticle apparaissent et ainsi de suite .

J’espere que c’est plus clair

Recoucou El Tiger,

Excuse moi pour la lenteur de mon retour !

Donc si j'ai bien compris : Quand tu va dans l'onglet ADD de ton UserForm, tu souhaite que les TextBox s'affiche et disparaisse en fonction de se que tu a choisie avec ta ComboBox ?

Si c'est bien cela et que nous prenons l'exemple du LabelContrat, alors voici le code pour le faire apparaître ou disparaître en fonction du choix mis en ComboBox !

Private Sub ComboBoxChoix_Change()
    Dim sWs As String

    sWs = Me.ComboBoxChoix.Value
    Call ChargerListBox
    If sWs <> "" Then Worksheets(sWs).Select
    '
    '
    ' Ci dessous le code à rajouter :
    If ComboBoxChoix.Value = "employes" Then 'Si ma ComboBox est égal à employés alors
    LabelContrat.Visible = True 'Label Type Contrat visible
    Else
    LabelContrat.Visible = False 'Label Type Contrat Masqué
    End If

End Sub

Si c'est bien sa et que tu souhaite avoir plus d'explication ou que je t'aide à codifier ton UserForm n'hésite surtout pas !

Ce n'est pas grave , et oui il me semble que cela je devrait faire, en revanche oui, j'aimerai bien avoir de l'aide pour codifier mon UserForm stp parce que j'ai du mal à le coder

parce que en plus je pense avoir fait une erreur dans mon code car je n'arrive pas à l'éxecuter.

El Tiger,

Sa m'a pris du temps à cause du trèèèèès grand nombre d'en-tête de colonne que tu a mettre en TextBox et à cacher en fonction du choix dans ton UserForm :p

Mais voilà c'est fais et plus à faire !

Je te laisse tester ^^

Concernant ton erreur, sa viens de ces deux lignes :

dercol = Sheets(NomFeuille).Cells(1, Cells.Columns.Count).End(xlToLeft).Column 'on détecte la dernière colonne
nbLigne = Sheets(NomFeuille).Range("A65536").End(xlUp).Row

Qu'est ce que tu veux faire avec sa ?

N'hésite pas à revenir auprès du Fofo en cas de soucis !

28pour-el-tiger.xlsm (47.21 Ko)

Hello Juice,

Alors tout d’abord merci beaucoup pour le temps que tu me consacre, c’est exactement ce que je veux faire c’est parfait. J'aimerai juste que tu m'explique comment tu as procéder (si ta du temps) ete merci encore

Alors enfaite j’aurais aimé avoir les valeurs des onglets dans la listbox d’où la création de ces deux lignes de codes :

dercol = Sheets(NomFeuille).Cells(1, Cells.Columns.Count).End(xlToLeft).Column ' permet de déteceter la dernière colonne

nbLigne = Sheets(NomFeuille).Range("A65536").End(xlUp).Row 'permet de se placer sur la derniere ligne de l'onget

Du coup, je comprend pas pourquoi ces deux lignes indquent une erreur.

Recoucou El Tiger,

Ravie que ce fichier te convienne

J'aimerai juste que tu m'explique comment tu as procéder

Pour commencer j'ai créé un Label pour chacune de tes en-tête de colonne, et je les aient placés devant tes TextBox.

Cependant, c'était le bazar quand ton UserForm s'ouvrait car tout les Labels s'affichaient les uns par dessus les autres, j'ai donc mis à jour ton "UserForm_initialize" pour dire les Labels qui devaient s'afficher et ceux qui devaient rester masqués :

Private Sub UserForm_initialize()
LabelContrat.Visible = True 'Si True alors le Label s'affiche
LabelPoste.Visible = True
LabelNom.Visible = True
LabelPrenom.Visible = True
LabelSexe.Visible = False 'Si False alors le Label se masque
LabelEmail.Visible = False
LabelIDMod.Visible = False
LabelNomMod.Visible = False
LabelIDArtDispo.Visible = False
LabelTailleArtDispo.Visible = False
LabelNBArtDispo.Visible = False
LabelPrixArtDispo.Visible = False
End Sub

Enfin, pour changer les Labels selon ton choix dans ton combobox, je suis aller le codifier! En prenant l'exemple de l'employés: Si je choisi "employes" dans ma combobox alors les Labels correspondant (C'est-à-dire Contrat; Poste; Nom & Prénom) sont visibles, sinon ils sont masqués :

Private Sub ComboBoxChoix_Change()

    If ComboBoxChoix.Value = "employes" Then 'Si ma ComboBox est égal à employés alors
    LabelContrat.Visible = True
    LabelPoste.Visible = True
    Else
    LabelContrat.Visible = False
    LabelPoste.Visible = False
    End If

Concernant ton erreur vis à vis de tes deux lignes de codes, je regarde et je reviens vers toi si j'ai une solution

Mais par contre je n'ai pas compris cette phrase :0

j’aurais aimé avoir les valeurs des onglets dans la listbox d’où la création de ces deux lignes de codes

Je prend du temps à comprendre :p

Re :3

Bon je me suis penché sur ton problème, et celui-ci est causé par une mauvaise déclaration (?) de ta variable NomFeuille.

C'est pourquoi ces lignes ressortent :

dercol = Sheets(NomFeuille).Cells(1, Cells.Columns.Count).End(xlToLeft).Column
nbLigne = Sheets(NomFeuille).Range("A65536").End(xlUp).Row

Ici, tu donne à ta variable NomFeuille la valeur indiqué dans ta "ComboBoxChoix2" :

NomFeuille = ComboBoxChoix2

Alors en faite ce n'est pas "ComboBoxChoix2" mais "ComboBoxChoix" tout court :3 Donc :

NomFeuille = ComboBoxChoix

Ensuite, tu dois remplacer dans toute ta procédure les ComboBoxChoix2 par ComboBoxChoix.

Astuce :

1° Tu va dans ta procédure

2° Tu clique sur Ctrl + F

3° Tu clique sur Remplacer

4° Dans le champ "Rechercher" tu met "ComboBoxChoix2"

5° Dans le champ "Remplacer" tu met "ComboBoxChoix"

6° Tu clique sur Remplacer tout

7° Tu a un piti message te disant que les valeurs ont été correctement remplacées

Bon bah voilà! Tes TextBox fonctionnent et ton bug a été corrigé :p

SI tu a d'autre question n'hésite surtout pas '3' !

19pour-el-tiger.xlsm (49.18 Ko)

alors je te remercie une fois de plus pour le temps que tu me consacres . Cependant, j'aimerais rajouter des nouveaux labels comme le nom et prenom des employes et des clients mais le code m'affiche une erreur ( je sais je suis lourde avec mes quesyions ) et de plus les ComboBoxChoix ont été remplacés mais toujours une erreur (alors je pense que je n'ai pas très compris)

"j’aurais aimé avoir les valeurs des onglets dans la listbox d’où la création de ces deux lignes de codes" le truc c'est que j'ai essayé de coder pour obtenir les valeurs dans la listbox d'où les deux lignes de codes .

merci encore juice

Aalors c'est bon j'ai réussis a créer des nouveaux labels. De plus, au niveau de l'erreur lirsque je mets comboboxChoix au lieu de comboboxChoix2, la listbox en dessous est vide, du coup je pense que cette fois ci c'est bon si tu veux jeté un coup d'oeuil j'ai mis le fichier en pièce jointe.

Merci beaucoup pour ton aide il me restera plus qu'a créer le code pour modifier une ligne et pour ajouter une ligne et normalement j'aurias finis mon formulaire. J'espere y reussir avant demain haha

18pour-el-tiger.xlsm (49.24 Ko)

El Tiger,

Bon bah je te donne le fichier vierge de toute erreur

GG à toi pour avoir rajouter des Labels !

J'avais pas vue que tu avais à nouveau répondue au sujet du coup j'ai taffé sur le fichier!

Prend ce qui te plaît ^^

11pour-el-tiger.xlsm (48.21 Ko)

c'est normal que la combobox de modyfy n'affiche pas de choix ?

Re Tiger!

Non c'est pas normal et c'est ma faute xDDD

Avec mon "remplacer tout" j'ai supprimer la liste de ta ComboBox Modifier, donc en ce moment tu a ceci :

Private Sub UserForm_initialize()

ComboBoxChoix.List = Array("employes", "clients", "modele", "articleDisponible")
ComboBoxChoix.List = Array("employes", "clients", "modele", "articleDisponible")
ComboBoxChoix.Value = "employes"

End Sub

Eh bien rajoute un deux après l'un de tes ComboBoxChoix pour obtenir cela :

Private Sub UserForm_initialize()

ComboBoxChoix.List = Array("employes", "clients", "modele", "articleDisponible")
ComboBoxChoix2.List = Array("employes", "clients", "modele", "articleDisponible")
ComboBoxChoix.Value = "employes"

End Sub

Désolé pour sa T-T

vraiment désolé Juice je te dérange encore, mais normalement lorsque je selectionneclient par exmple dans moffier/suppprimer, toutes les valeurs du fichier excel s'affichent et c'est seulement apres que je peux modifier ma ligne , je sais pas si tu m'as comprise désolé encore

vraiment désolé Juice

je sais pas si tu m'as comprise désolé encore

Mais cesse donc de t'excuser D: T'est Tiger! Une Lionne xD

Blague à part j'espère que le fichier que je te met ici te conviens

Sinon tu n'hésite surtout pas à revenir vers moi sans t'excuser °^°

49pour-el-tiger.xlsm (56.04 Ko)

c'est parfait merci énormément

Parfait!

Pense à fermer le sujet avec le petit v si tu n'a plus d'autre question ;D

Rechercher des sujets similaires à "masque textbox"