Ajouter des données sous condition de positionnement

IT_FS Messages postés 1 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai la liste suivante:



Je veux ajouter des éléments dans les colonnes C, E, G, … jusqu'à la dernière colonne.
l'idée est de chercher le numéro qui dans la ligne 1 dans les colonnes C, E, G, comparer sa valeur avec une valeur chois a partir d'une comobobox ( Combobox_Num) si le numéro a été trouvée on le rajoute dans la bonne colonne.
Par exemple si je choisi 002 a partir de ma combobox, donc la donnée se rajoute dans la colonne E ligne 7, sans oublier que il faut que rajoute la date dans la colonne de coté (colonne F pour cette exemple)
j'ai rédigé ce code mais j'ai aucune données qui se rajoute :/ quelqu'un peut identifier mon erreur merci;

Private Sub CommandButton1_Click()
If Me.ComboBox_Lame.Value = "" Then
MsgBox ("Veuillez choisir une lame")
Else
'Nom_Lame = Me.ComboBox_Lame.Value
Num_Lame = Me.ComboBox_Num.Value

Dim ws_verifM1 As Worksheet
Set ws_verifM1 = ActiveWorkbook.Worksheets("Verif_M1")
fin_liste = ws_verifM1.Range("A" & Rows.Count).End(xlUp).Row
'fin_col = ws_verifM1.Cells(1, Columns.Count).End(xlToLeft).Column

Dim Plage As Range
Set Plage = ws_verifM1.Rows(1)

Set Trouve = Plage.Cells.Find(what:=Num_Lame)
If Trouve Is Nothing Then
Else
ws_verifM1.Cells(1, Trouve.Column).Value = Num_Lame

ws_verifM1.Cells(Trouve.Rows, 3) = Me.ComboBox_Lame.Value & Me.ComboBox_Operation.Value
ws_verifM1.Cells(Trouve.Rows, 4) = Me.TextBox_Date.Value
End If
End If
Unload Me
End Sub


Configuration: Windows / Chrome 84.0.4147.105

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Avec votre fichier, aurait ete plus simple.
    Ce qu'il faut, c'est cherche la premiere cellule vide de la colonne du numero cherche

    A tester car dans votre code vous ecrivez dans trois cellules pas deux

    Private Sub CommandButton1_Click()
        Dim ws_verifM1 As Worksheet
        Dim Plage As Range
        
        If Me.ComboBox_Lame.Value <> "" Then
            'Nom_Lame = Me.ComboBox_Lame.Value
            Num_Lame = Me.ComboBox_Num.Value
            Set ws_verifM1 = ActiveWorkbook.Worksheets("Verif_M1")
            With ws_verifM1
                fin_liste = .Range("A" & Rows.Count).End(xlUp).Row
                'fin_col = ws_verifM1.Cells(1, Columns.Count).End(xlToLeft).Column
                Set Plage = .Rows(1)
                Set Trouve = Plage.Cells.Find(what:=Num_Lame)
                If Not Trouve Is Nothing Then
                    Col = Trouve.Column
                    LDCol = Split(Trouve.Address, "$")(1)
                    LSuiv = .Range(LDCol & Rows.Count).End(xlUp).Row + 1
                    .Cells(LSuiv, Col).Value = Num_Lame
                    '?????.Cells(LSuiv, Col+1) = Me.ComboBox_Lame.Value & Me.ComboBox_Operation.Value
                    .Cells(LSuiv, Col + 1) = Me.TextBox_Date.Value
                End If
            End With
        Else
            MsgBox ("Veuillez choisir une lame")
        End If
        Unload Me
    End Sub
    0