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 -
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;
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
-
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