ComboBox en fonction d'une textbox

Bonjour,

J'ai fais un userform qui permet de se connecté a un autre userform.

Quand on renseigne un identifiant de connection, il apparait sur le second userform.

J'aimerais créer 3 combo box avec une liste de 5 options (identiques pour les 3 combobox)

Il faudrait que chaque combo box renseigne mon tableau dans la sheet BASE sur la bonne ligne et je ne sais pas comment faire le code en question. Si vous pouviez-m'aidez ça serait sympa de votre part. =)

Micka

Bonjour Micka, bonjour le forum,

Moi, ce que je trouverais très sympa de ta part c'est que tu nous fournisses le fichier ou, a défaut de l'original, un fichier exemple reprenant la même structure que l'original...

Oui tu as raison voici mon fichier. =)

10mdcpp.xlsm (123.26 Ko)

Re,

Sympa mais pas assez !... 7 userforms dans ton fichiers. Tu en cites deux. Lesquels ?!...

Oui j'avoue, qu'il y en a partout =)

Les gens renseignent leur identifiants sur le userform FrmBac et sur le userform FrmD1 il y a les Combobox a renseigner pour actualisé les cases qui sont dans les colonnes L, M et N sur la sheet "Base".

Si tu utilise l'application, avec l'utilisateur 42349 et le mdp 123, tu seras sur le bon userform =)

Si quelqu'un avait la solution ça serait top de votre part. =)

Re,

Ooops, je ne comprends pas. Hier je t'avais envoyé une proposition... J'ai dû encore me mélanger les doigts au moment de valider... Faut que j'arrête de boire . Attends je recherche dans mes fichiers, je dois avoir gardé ça....

Re,

je te proposes 3 étapes (non testé) :

1. dans le module [Module 1], en-dessous de Option Explicit, rajoute la déclaration de variable suivante :

Public LI As linteger'déclare la variable LI (LIgne)

2. Le code modifié du bouton Se connecter de l'UserForm FrmBac :

Private Sub BtnSec_Click()
    'CODE D'ACCES PROGRAMME

    Dim Ws As Worksheet
    Dim Lr As Long
    Dim User As String
    Dim Mdp As String
    Dim connecté As Boolean
    Dim Niv As String

    Application.ScreenUpdating = False

    Set Ws = Sheets("Base")
        Lr = Ws.Range("A" & Rows.Count).End(xlUp).Row
    connecté = False

    If Me.TxbUti = "" Or Me.TxbMdp = "" Then
    MsgBox "Veuillez remplir tous les champs"
    Exit Sub
    End If

    User = TxbUti
    Mdp = TxbMdp

    Dim C As Variant

    For Each C In Ws.Range("A2:A" & Lr)
    If C = User And C.Offset(, 8) = Mdp Then
'****************************************
    LI = C.Row '<==== ici
'****************************************
    connecté = True
    Exit For
    End If
    Next C

    Dim i As Long

    If connecté = False Then
    MsgBox "Vos identifiants sont incorrects"
    Me.TxbUti = ""
    Me.TxbMdp = ""
    Exit Sub
    Else
    For i = 2 To 2

    Niv = Ws.Cells(i, 10)

    If Sheets("Selection").[C2].Value = "0" Then
    Unload Me
    VBAProject.FrmD1.Show
    Else

    If Sheets("Selection").[C2].Value = 2 Then
    Unload Me
    VBAProject.FrmD2.Show
    Else
    Unload Me
    VBAProject.FrmD0.Show
    End If
    End If
    Next i
    End If

End Sub

3. Ajouter le code ci-dessous dans l'UserForm FrmD1 :

Private Sub ComboBox115_Change()
Worksheets("Base").Cells(LI, "N").Value = Me.ComboBox115.Value
End Sub

Il faudra le même code pour les 2 autres comboboxes en adaptant la colonne...

Re,

Je suis désolé de te déranger mais j'ai intégré ce que tu m'as donné mais il me déclare un bug et je ne sais pas comment le corriger. Je mets mon fichier en PJ.

4mdcpp.xlsm (123.26 Ko)

Re,

La première des choses quand il y a un bug c'est de signaler quelle est la ligne qui plante et quel est le message d'erreur !...

Ensuite, chez moi aucune erreur et au changement dans les ComboBoxes 115, 116 et 117 j'ai bien leur contenu renvoyé dans la cellule ligne LI colonne L, M ou N de l'onglet Base. D'ailleurs, la largeur de ces 3 colonnes est bien trop petite pour recevoir le contenu des ComboBoxes....

Note que tu dois avoir quelque part un ScreenUpdating = False qui empêche de voir s'afficher les données de suite. Il faut revenir à Excel pour les voir.

Au passage, qu'est ce que c'est pénible ce retour en arrière sur les UserForms. Franchement, cette méthode ne me plaît pas du tout. Mais ce n'est que mon avis...

Le fichier qui fonctionne chez moi en pièce jointe :

18micka-ep-v02.xlsm (107.93 Ko)

En effet, ça fonctionne. Je suis désolé de t'avoir dérangé. Merci mille fois pour le coup de main. Si je te dois quelque chose n'hésites pas.

Re,

Arf ! Oui... Tu me dois... Le respect !

Rechercher des sujets similaires à "combobox fonction textbox"