VBA - Erreur compilation, objet requis pour un Set
Bonjour à tous,
J'ai un formulaire dans lequel je rentre une date de début et de fin ou bien un numéro de semaine. Il marchait correctement jusqu'à ce que je rajoute un If pour la textbox4 (si le numéro de semaine est vide) et depuis j'ai "Erreur de compilation Objet requis" et le Set Sem= ... est surligné... Je ne comprend pas d'où vient mon erreur donc si quelqu'un peut m'éclairer.... :calim2:
voilà une partie de mon code (là où c'est la mierde) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| 'Déclare les variables pour la recherche du numéro de semaine
Dim X As Byte
Dim Y As Date
Dim Z As Date
Dim JourD As Integer
Dim JourF As Integer
Dim NumSem As Integer
Dim NumJourD As Variant
Dim NumJourF As Variant
Dim Sem As Integer
If TextBox4.Value <> "" Then
X = TextBox4.Value
'Cherche le numéro de semaine sur la ligne 7 et donne son numéro de colonne par la variable NumSem
Set Sem = ThisWorkbook.Worksheets("Activité").Rows("7").Find(What:=X, lookat:=xlWhole)
If Not Sem Is Nothing Then
NumSem = Sem.Column
Cells(8, NumSem - 1).Select
Else
MsgBox "Le numéro de semaine n'est pas valable"
Unload Me
End If
Sem = Nothing
Else
Range("C8").Select
End If
'Si des valeurs sont renseignée dans les cases "Du" et "Au", déclaration des variables pour les recherches
If TextBox5 <> "" And TextBox6 <> "" Then
Y = TextBox5
Z = TextBox6
'Cherche le numéro de départ chantier sur la ligne 8, après la cellule sélectionnée et donne son numéro de colonne par la variable NumJourD
Set JourD = Worksheets("Activité").Rows("8").Find(What:=Y, After:=ActiveCell, lookat:=xlWhole)
If Not JourD Is Nothing Then
NumJourD = JourD.Column
Else
MsgBox "Erreur : Le jour de départ n'est pas contenu dans la semaine " & X
Unload Me
End If
'Cherche le numéro de fin de chantier sur la ligne 8, après la la cellule sélectionnée et donne son numéro de colonne par la variable NumJourF
Set JourF = ThisWorkbook.Worksheets("Activité").Rows("8").Find(What:=Z, After:=ActiveCell, lookat:=xlWhole)
If Not JourF Is Nothing Then
NumJourF = JourF.Column
Else
MsgBox "Erreur : Le jour de fin n'est pas contenu dans la semaine " & X
Unload Me
End If
End If |
Merci de votre aide !