Plusieurs combobox nom et 1 activité
Voila j'ai ce code
Dim FeuilleDeTransfert As String
Dim LigneDeTransfert As Byte
Dim DebutColonneDeTransfert As Byte
Dim FinColonneDeTransfert As Byte
Dim A As Byte
Dim cell As Range
If Me.ComboBox1.ListIndex = -1 Then
' MsgBox " Merci de documenter la période de la journée"
Exit Sub
ComboBox1.SetFocus
End If
If Me.ComboNom.ListIndex = -1 Then
MsgBox " Le Nom doit ètre documenté"
Exit Sub
End If
FeuilleDeTransfert = StrConv(Format(Datefin, "mmmm"), vbProperCase)
Err = 0
On Error Resume Next
LigneDeTransfert = Application.WorksheetFunction.Match(Me.ComboNom, Worksheets(FeuilleDeTransfert).Range("C1:C100"), 0)
If Err <> 0 Then
Err = 0
MsgBox "La feuille de mois ou le nom de la personne n'existe pas dans cette feuille"
Exit Sub
End If
DebutColonneDeTransfert = Application.WorksheetFunction.Match(CLng(Datedeb), Worksheets(FeuilleDeTransfert).Range("D11:AI11"), 0) + 3
If Err <> 0 Then
Err = 0
MsgBox "La date de début n'existe pas dans cette feuille"
Exit Sub
End If
FinColonneDeTransfert = Application.WorksheetFunction.Match(CLng(Datefin), Worksheets(FeuilleDeTransfert).Range("D11:AI11"), 0) + 3
If Err <> 0 Then
Err = 0
MsgBox "La date de fin n'existe pas dans cette feuille"
Exit Sub
End If
If Me.ComboBox1.ListIndex = 0 Then
A = 0
ElseIf Me.ComboBox1.ListIndex = 1 Then
A = 0
LigneDeTransfert = LigneDeTransfert + 1
ElseIf Me.ComboBox1.ListIndex = 2 Then
A = 1
End If
With Sheets(FeuilleDeTransfert)
For Each cell In Range(.Cells(LigneDeTransfert, DebutColonneDeTransfert), .Cells(LigneDeTransfert + A, FinColonneDeTransfert))
If cell.Value = "" Then
cell = ComboBox3.Value
Else
MsgBox (" Donnée déjà présente" & " " & "sur" & " " & Me.ComboNom)
End If
Next
End Withet je l'est re-petter en changeant le nom de combobox mais je suis sur qu'il y as une solution plus simple.
'2--------------------------------
Dim FeuilleDeTransfert2 As String
Dim LigneDeTransfert2 As Byte
Dim DebutColonneDeTransfert2 As Byte
Dim FinColonneDeTransfert2 As Byte
Dim B As Byte
Dim cell2 As Range
If Me.ComboBox4.ListIndex = -1 Then
' MsgBox " Merci de documenter la période de la journée"
Exit Sub
ComboBox4.SetFocus
End If
If Me.ComboNom2.ListIndex = -1 Then
MsgBox " Le Nom doit ètre documenté"
Exit Sub
End If
FeuilleDeTransfert2 = StrConv(Format(Datefin, "mmmm"), vbProperCase)
Err = 0
On Error Resume Next
LigneDeTransfert2 = Application.WorksheetFunction.Match(Me.ComboNom2, Worksheets(FeuilleDeTransfert2).Range("C1:C100"), 0)
If Err <> 0 Then
Err = 0
MsgBox "La feuille de mois ou le nom de la personne n'existe pas dans cette feuille"
Exit Sub
End If
DebutColonneDeTransfert2 = Application.WorksheetFunction.Match(CLng(Datedeb), Worksheets(FeuilleDeTransfert2).Range("D11:AI11"), 0) + 3
If Err <> 0 Then
Err = 0
MsgBox "La date de début n'existe pas dans cette feuille"
Exit Sub
End If
FinColonneDeTransfert2 = Application.WorksheetFunction.Match(CLng(Datefin), Worksheets(FeuilleDeTransfert2).Range("D11:AI11"), 0) + 3
If Err <> 0 Then
Err = 0
MsgBox "La date de fin n'existe pas dans cette feuille"
Exit Sub
End If
If Me.ComboBox4.ListIndex = 0 Then
B = 0
ElseIf Me.ComboBox4.ListIndex = 1 Then
B = 0
LigneDeTransfert2 = LigneDeTransfert2 + 1
ElseIf Me.ComboBox4.ListIndex = 2 Then
B = 1
End If
With Sheets(FeuilleDeTransfert2)
For Each cell2 In Range(.Cells(LigneDeTransfert2, DebutColonneDeTransfert2), .Cells(LigneDeTransfert2 + B, FinColonneDeTransfert2))
If cell2.Value = "" Then
cell2 = ComboBox3.Value
Else
MsgBox (" Donnée déjà présente" & " " & "sur" & " " & Me.ComboNom2)
End If
Next
End Withsuper Merci banzai64
