wall
XLDnaute Nouveau
Bonjour à toutes et à tous, je viens vous solliciter car je suis vraiment au pied du mur. J'ai un userform avec 28 combobox qui envoie des données sur une feuille "Traces" sauf que ce code vba ne tient pas compte des inscrits de la colonne B du tableau ce qui fait que je me trouve avec des doublons de noms. Ce que j'aimerai c'est que à chaque fois que je valide, le code cherche si le même nom existe déja pour remplacer toutes les valeurs de la ligne. Merci d'avance
With Sheets("Traces")
lgn = Application.Max(3, .Range("B" & Rows.Count).End(xlUp)(2).Row)
.Range("A" & lgn) = Now
.Range("B" & lgn) = ComboBox28
For i = 1 To 27
If i > 0 And i < 6 Then
.Cells(lgn, i + 2) = Val(Controls("ComboBox" & i))
f.Cells(6, i) = Val(Controls("ComboBox" & i))
ElseIf i > 5 And i < 9 Then
.Cells(lgn, i + 3) = Val(Controls("ComboBox" & i))
f.Cells(11, i - 5) = Val(Controls("ComboBox" & i))
ElseIf i > 8 And i < 12 Then
.Cells(lgn, i + 4) = Val(Controls("ComboBox" & i))
f.Cells(16, i - 8) = Val(Controls("ComboBox" & i))
ElseIf i = 12 Then
.Cells(lgn, i + 5) = Val(Controls("ComboBox" & i))
f.Cells(21, 1) = Val(Controls("ComboBox" & i))
ElseIf i > 12 And i < 18 Then
.Cells(lgn, i + 5) = Val(Controls("ComboBox" & i))
f.Cells(26, i - 12) = Val(Controls("ComboBox" & i))
ElseIf i > 17 And i < 20 Then
.Cells(lgn, i + 6) = Val(Controls("ComboBox" & i))
f.Cells(31, i - 17) = Val(Controls("ComboBox" & i))
ElseIf i > 19 And i < 22 Then
.Cells(lgn, i + 7) = Val(Controls("ComboBox" & i))
f.Cells(36, i - 19) = Val(Controls("ComboBox" & i))
ElseIf i > 21 And i < 28 Then
.Cells(lgn, i + 8) = Val(Controls("ComboBox" & i)) '"Traces"
f.Cells(41, i - 21) = Val(Controls("ComboBox" & i)) 'exemple: si i=22 alors la cellule
'de la derniere ligne de la colonne C,colonne 22+8 recoit la valeur
With Sheets("Traces")
lgn = Application.Max(3, .Range("B" & Rows.Count).End(xlUp)(2).Row)
.Range("A" & lgn) = Now
.Range("B" & lgn) = ComboBox28
For i = 1 To 27
If i > 0 And i < 6 Then
.Cells(lgn, i + 2) = Val(Controls("ComboBox" & i))
f.Cells(6, i) = Val(Controls("ComboBox" & i))
ElseIf i > 5 And i < 9 Then
.Cells(lgn, i + 3) = Val(Controls("ComboBox" & i))
f.Cells(11, i - 5) = Val(Controls("ComboBox" & i))
ElseIf i > 8 And i < 12 Then
.Cells(lgn, i + 4) = Val(Controls("ComboBox" & i))
f.Cells(16, i - 8) = Val(Controls("ComboBox" & i))
ElseIf i = 12 Then
.Cells(lgn, i + 5) = Val(Controls("ComboBox" & i))
f.Cells(21, 1) = Val(Controls("ComboBox" & i))
ElseIf i > 12 And i < 18 Then
.Cells(lgn, i + 5) = Val(Controls("ComboBox" & i))
f.Cells(26, i - 12) = Val(Controls("ComboBox" & i))
ElseIf i > 17 And i < 20 Then
.Cells(lgn, i + 6) = Val(Controls("ComboBox" & i))
f.Cells(31, i - 17) = Val(Controls("ComboBox" & i))
ElseIf i > 19 And i < 22 Then
.Cells(lgn, i + 7) = Val(Controls("ComboBox" & i))
f.Cells(36, i - 19) = Val(Controls("ComboBox" & i))
ElseIf i > 21 And i < 28 Then
.Cells(lgn, i + 8) = Val(Controls("ComboBox" & i)) '"Traces"
f.Cells(41, i - 21) = Val(Controls("ComboBox" & i)) 'exemple: si i=22 alors la cellule
'de la derniere ligne de la colonne C,colonne 22+8 recoit la valeur