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....

voilà une partie de mon code (là où c'est la mierde) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !