Voici le code que j'ai tapé.
Est ce suffisant ?
Option Explicit
Dim ws As Worksheet
Private Sub avancement_initialize()
Dim J As Long
Dim i As Integer
Set ws = Sheets("CONVERT")
With Me.Cbo_pharmacie
For J = 3 To ws.Range("D" & [D65000]).End(xlUp).Row
.AddItem ws.Range("D" & J)
Next J
End With
End Sub
Private Sub Cbo_pharmacie_Change()
Me.Cbo_pharmacie.RowSource = "CONVERT!D3:D" & Sheets("CONVERT").[D65000].End(xlUp).Row
Cbo_pharmacie.ListIndex = 1
End Sub
Private Sub CommandButton14_Click()
Unload avancement
End Sub
Private Sub CommandButton15_Click()
Dim i As Integer
Do
i = i + 1
If i > 1000 Then Exit Do
Loop Until Sheets("CONVERT").Cells(i, 4) <> "Cbo_pharmacie.Text"
If CheckBox1.Value = True Then
Range("X" & i) = TextBox1.Text
Else
Range("X" & i) = " "
End If
If CheckBox1.Value = True Then
Range("Z" & i) = TextBox1.Text
Else
Range("Z" & i) = " "
End If
If CheckBox1.Value = True Then
Range("AA" & i) = TextBox1.Text
Else
Range("AA" & i) = " "
End If
If CheckBox1.Value = True Then
Range("W" & i) = TextBox1.Text
Else
Range("W" & i) = " "
End If
If CheckBox1.Value = True Then
Range("AB" & i) = TextBox1.Text
Else
Range("AB" & i) = " "
End If
If CheckBox1.Value = True Then
Range("P" & i) = TextBox1.Text
Else
Range("P" & i) = " "
End If
If CheckBox1.Value = True Then
Range("Q" & i) = TextBox1.Text
Else
Range("Q" & i) = " "
End If
If CheckBox1.Value = True Then
Range("R" & i) = TextBox1.Text
Else
Range("R" & i) = " "
End If
If CheckBox1.Value = True Then
Range("S" & i) = TextBox1.Text
Else
Range("S" & i) = " "
End If
If CheckBox1.Value = True Then
Range("V" & i) = TextBox1.Text
Else
Range("V" & i) = " "
End If
If CheckBox1.Value = True Then
Range("U" & i) = TextBox1.Text
Else
Range("U" & i) = " "
End If
If CheckBox1.Value = True Then
Range("Y" & i) = TextBox1.Text
Else
Range("Y" & i) = " "
End If
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsDate(Me.TextBox1) Then
MsgBox "Erreur saisie!"
Cancel = True
End If
End Sub