Souci d'envoi d'information du à un choix dans combobox

Bonsoir

Je suis en train de bosser sur un fichier et en le mettant en pratique un souci c'est présenté:

j'entre énoirmement de données dans la feuille excel et pour que les modifications/ajout soient plus aisées, j'ai créé un userform qui appelle la ligne en fonction du nom. le souci vient lorsque j'ai plusieurs ligne qui porte le meme nom mais pas le meme numero de dossier

par exemple

ligne nom numero de dossier

1 durant 15 05 058002

2 dupont 15 05 058408616

3 durant 15 05 0585598

lorsque j'appelle durant et que j'effectue une modification ou un ajout dans les colonnes, les informations vont toujours sur la premiere ligne contenant durant même si je veux en réalité en completer une autre.

voici le code que j'utilise:

Private Sub ComboBox29_Change() 'Nom Prénom
Dim ligne As Integer
Dim i As Integer
    i = 1
    With Sheets("AVP")
        Do While (.Range("E" & i) <> ComboBox29.Value And .Range("E" & i) <> Empty)
            i = i + 1
        Loop
        If (.Range("E" & i).Value = ComboBox29.Value) Then
            ligne = i
        End If
    End With

    If ligne > 0 Then
        With Sheets("AVP")
            Me.TextBox1.Value = .Range("B" & ligne).Value
            Me.TextBox2.Value = .Range("D" & ligne).Value
            ComboBox29.Value = .Range("E" & ligne).Value
        End With
    End If
End Sub

Private Sub ComboBox31_Change()

End Sub

Private Sub CommandButton22_Click() 'Valider

Dim ligne As Integer
Dim i As Integer
    i = 1
    ligne = -1
    With Sheets("AVP")
        Do While (.Range("E" & i) <> ComboBox29.Value And .Range("E" & i) <> Empty)
            i = i + 1
        Loop
        If (.Range("E" & i).Value = ComboBox29.Value) Then
            ligne = i
        End If
        If ligne > 0 Then
            If CheckBox1.Value = True Then
                .Range("O" & ligne).Value = Me.TextBox3.Value
                .Range("R" & ligne).Value = ComboBox32.Value
                .Range("Q" & ligne).Value = ComboBox30.Value
                .Range("AB" & ligne).Value = Me.TextBox5.Value
            End If
            If CheckBox2.Value = True Then
                .Range("X" & ligne).Value = ComboBox27.Value
                .Range("V" & ligne).Value = Me.TextBox13.Value
                .Range("AC" & ligne).Value = Me.TextBox51.Value
                .Range("AD" & ligne).Value = Me.TextBox52.Value
                .Range("AE" & ligne).Value = Me.TextBox53.Value
                .Range("AU" & ligne).Value = Me.TextBox69.Value
                .Range("Y" & ligne).Value = ComboBox31.Value
            End If
            If CheckBox3.Value = True Then
                .Range("X" & ligne).Value = ComboBox27.Value
                .Range("V" & ligne).Value = Me.TextBox13.Value
                .Range("AF" & ligne).Value = Me.TextBox54.Value
                .Range("AG" & ligne).Value = Me.TextBox55.Value
                .Range("AH" & ligne).Value = Me.TextBox56.Value
                .Range("AI" & ligne).Value = Me.TextBox57.Value
                .Range("AJ" & ligne).Value = Me.TextBox58.Value
                .Range("AU" & ligne).Value = Me.TextBox69.Value
                .Range("Y" & ligne).Value = ComboBox31.Value
            End If
            If CheckBox4.Value = True Then
                .Range("X" & ligne).Value = ComboBox27.Value
                .Range("V" & ligne).Value = Me.TextBox13.Value
                .Range("AK" & ligne).Value = Me.TextBox59.Value
                .Range("AL" & ligne).Value = Me.TextBox60.Value
                .Range("AM" & ligne).Value = Me.TextBox61.Value
                .Range("AN" & ligne).Value = Me.TextBox62.Value
                .Range("AO" & ligne).Value = Me.TextBox63.Value
                .Range("AP" & ligne).Value = Me.TextBox64.Value
                .Range("AU" & ligne).Value = Me.TextBox69.Value
                .Range("Y" & ligne).Value = ComboBox31.Value
            End If
            If CheckBox5.Value = True Then
                .Range("X" & ligne).Value = ComboBox27.Value
                .Range("V" & ligne).Value = Me.TextBox13.Value
                .Range("AQ" & ligne).Value = Me.TextBox65.Value
                .Range("AR" & ligne).Value = Me.TextBox66.Value
                .Range("AS" & ligne).Value = Me.TextBox67.Value
                .Range("AT" & ligne).Value = Me.TextBox68.Value
                .Range("AU" & ligne).Value = Me.TextBox69.Value
                .Range("Y" & ligne).Value = ComboBox31.Value
            End If
            If CheckBox6.Value = True Then
                .Range("X" & ligne).Value = ComboBox27.Value
                .Range("V" & ligne).Value = Me.TextBox13.Value
                .Range("AV" & ligne).Value = Me.TextBox70.Value
                .Range("Y" & ligne).Value = ComboBox31.Value
            End If
        End If
    End With
    Me.Hide
    Unload Me
End Sub
Private Sub CommandButton4_Click()
    Me.Hide
End Sub
Private Sub CommandButton5_Click()
    Unload Me
End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox2_Change()

End Sub

Private Sub TextBox3_Change()

End Sub

Private Sub TextBox5_Change()

End Sub

Private Sub TextBox51_Change()

End Sub

Private Sub UserForm_Initialize()
    With Worksheets("AVP")
        Me.ComboBox29.List() = .Range("E2:E" & .Range("E" & Rows.Count).End(xlUp).Row).Value
    End With
TextBox3.Value = Date
TextBox13.Value = Date

End Sub

le nom est dans la combobox29 et le numéro de dossier dans la textbox2.

Bonsoir Aeryne, bonsoir le forum,

Sans fichier en pièce jointe je n'ai rien à te proposer. Si ce n'est de remplacer la Textbox2 par une ListBox qui récupèrerait tous les numéros de dossier d'un même nom. Un message d'avertissement apparaissant lorsque cette listbox contiendrait plus d'un seul élément. Ensuite la ligne serait définie par le bon nom et le bon numéro de dossier...

Si tu daignes envoyer un fichier je me ferais un plaisir de te proposer un code mais là, j'ai vraiment la flemme de recréer ton UserForm et l'environnement de ton fichier...

je veux bien envoyer une version allégée du fichier mais y a tellement de truc à retirer qu'il en reste pas grand chose lol

j'avais pensé à une listbox au lieu de la textbox mais j e n'arrive pas à écrire un code qui marche j'ai aussi essayé avec des combobox en cascade.

edit: voici le fichier

Bonsoir Aeryne, bonsoir le forum,

J'ai remplacé la TextBox du Numéro de Dossier par une un combobox (ComboBox33)

En pièce jointe ton fichier modifié avec le code commenté :

15aeryne-v01.zip (159.33 Ko)

Bonjour

je viens de tester et les combobox font bien ce qu'il faut mais j'ai une erreur de compilation: référence incorrecte ou non qualifiée

Private Sub CommandButton22_Click() 'Valider est surligné en jaune et .Range le premier après if checbox1 est surligné en bleu

edit: c'est bon j'ai trouvé merci j'ai juste du rajouter :With Sheets("AVP")

Merci de ton aide

bon week end

Rechercher des sujets similaires à "souci envoi information choix combobox"