Bonsoir
Je ne comprends vraiment ce que tu veux faire mais je te proposes la correction suivante.
Cordialement
Sub Occup()
' occup Macro
Dim Ligne As Long
Dim Col As Long 'si il s'agit du numéro de colonne : "Dim Col as Byte" suffit (255 colonnes maxi)
Dim Entree As Long
Dim Sortie As Long
Dim Occup As Double
a = InputBox("Quel est le nombre de relevés?")
Ligne = 3
With Sheets("dataoccup")
For Col = 5 To 29
For Ligne = 3 To a
'Récupération des données à l'intérieur des boucles
Entree = .Cells(Ligne, 3).Value
Sortie = .Cells(Ligne, 4).Value
Occup = .Cells(Ligne, Col).Value
If (Entree <= (Col - 5) And Sortie >= (Col - 5)) Then
Occup = 1
ElseIf Entree > Sortie And Sortie >= (Col - 5) Then
Occup = 1
ElseIf Entree > Sortie And Entree <= (Col - 5) Then
Occup = 1
Else
Occup = 0
End If
'Et faire quelquechose
Next ' ou "Next Ligne" pour fermer la boucle 2
Next ' ou "Next Col" pour fermer la boucle 1
End With 'Fin du "With"
End Sub