Ajouter des données sous condition de positionnement
IT_FS
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 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
A voir également:
- Ajouter des données sous condition de positionnement
- Fuite données maif - Guide
- Excel cellule couleur si condition texte - Guide
- Trier des données excel - Guide
- Supprimer les données de navigation - Guide
- Sauvegarde des données - Guide
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
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