Problème Incompatibilité de type

Bonjour,

J'ai un soucis dans mon programme, dès que je le lance, il se met en incompatibilité de type.

et quand je me met en débogage pas à pas l'erreur se trouve sur la ligne IF avant les numéros de palettes

Sub verif()

'variables
Dim i As Integer
i = 1
Dim e As Integer
e = 1
Dim c As Integer
c = 0
Dim cp As Integer
cp = WorksheetFunction.CountA(Range("D5:I5"))

'Code produit boites
Range("D5").Select
For i = 1 To 6
    If Selection <> "" Then

        Selection.Offset(1, 0).Select

        If Selection = "" Then
            MsgBox "Veuillez compléter l'heure de début de production"
            c = c + 1
        End If

        Selection.Offset(1, 0).Select

        If Selection = "" Then
            MsgBox " Veuillez compléter l'heure de fin de production"
            c = c + 1
        End If

    Selection.Offset(-2, 1).Select

    End If

Next

 'Boucle vérif

 Range("B11").Select

 i = 1

 For i = 1 To 5

    For e = 1 To 6

        If Selection <> "" Then

            Selection.Offset(1, 0).Select

            If Selection = "" Then 'Erreur sur cette ligne
                MsgBox "Veuillez entrer les n° de palettes et la date de fabrication"
                c = c + 1
            End If

            Selection.Offset(2, 0).Select

            If Selection = "" Then
                MsgBox "Veuillez remplir le nombres de boites abîmés"
                c = c + 1
            End If

            Selection.Offset(0, 1).Select

            If Selection = "" Then
                MsgBox "Veuillez remplir le nombres de boites sales"
                c = c + 1
            End If

            Selection.Offset(-3, 1).Select

        End If
    Next

Next

If WorksheetFunction.CountA(Range("B37:B42")) < cp Then

    MsgBox "Veuillez compléter le nombres de palettes utilisée"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("D37:D42")) < cp Then
    MsgBox "Veuillez compléter le total des boites"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("F37:F42")) < cp Then
    MsgBox "Veuillez compléter le nombres de lignes utilisées"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("H37:H42")) < cp Then
    MsgBox "Veuillez compléter le total boites"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("I37:I42")) < cp Then
    MsgBox "Veuillez compléter le total générale"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("K37:K42")) < cp Then
    MsgBox "Veuillez compléter le total boites manquante de la journée"
    c = c + 1
End If

If WorksheetFunction.CountA(Range("M37:M42")) < cp Then
    MsgBox "Veuillez compléter le total boites abîmées de la journée"
    c = c + 1
End If

If c = 0 Then

ThisWorkbook.SaveAs ("\\GBNCDATA1\tech\05-Conditionner Bière & BG\2 - Suivi prod\1.Formulaire_A_Valider\Auto-contrôle dépaléttiseur boites du " & Format(Now(), "DD-MMM-YYYY hh-mm"))
ThisWorkbook.Close
End If

End Sub

Je vous transmet mon document, son but est de rendre obligatoire la saisi de cellules dépendante d'autres cellules.

Bonjour,

Le code doit se trouver dans un module standard et non dans celui de la feuille.

Votre code réécrit:

Sub Verif()
    'variables
    Dim i As Integer, e As Integer, cp As Integer

    Application.ScreenUpdating = False
    cp = WorksheetFunction.CountA(Range("D5:I5"))

    'Code produit boites
    For i = 4 To 9 'de la colonne D à I
        If Cells(5, i) <> "" Then
            If Cells(6, i) = "" Then
                MsgBox "Veuillez compléter l'heure de début de production dans la cellule " & Replace(Cells(6, i).Address, "$", "")
                Exit Sub
            End If
            If Cells(7, i) = "" Then
                MsgBox " Veuillez compléter l'heure de fin de production dans la cellule " & Replace(Cells(7, i).Address, "$", "")
                Exit Sub
            End If
        End If
    Next

     'Boucle vérif
     For i = 11 To 31 Step 5 'de la ligne 11 à 31 avec un saut toutes les 5 lignes
        For e = 2 To 12 Step 2 'de la colonne B à L avec un saut toutes les 2 colonnes
            If Cells(i, e) <> "" Then
                If Cells(i + 1, e) = "" Then
                    MsgBox "Veuillez entrer les n° de palettes et la date de fabrication dans la cellule " & Replace(Cells(i + 1, e).Address, "$", "")
                    Exit Sub
                End If
                If Cells(i + 3, e) = "" Then
                    MsgBox "Veuillez remplir le nombres de boites abîmés dans la cellule " & Replace(Cells(i + 3, e).Address, "$", "")
                    Exit Sub
                End If
                If Cells(i + 3, e + 1) = "" Then
                    MsgBox "Veuillez remplir le nombres de boites sales dans la cellule " & Replace(Cells(i + 3, e + 1).Address, "$", "")
                    Exit Sub
                End If
            End If
        Next
    Next

    If WorksheetFunction.CountA(Range("B37:B42")) < cp Then
        MsgBox "Veuillez compléter le nombres de palettes utilisée"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("D37:D42")) < cp Then
        MsgBox "Veuillez compléter le total des boites"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("F37:F42")) < cp Then
        MsgBox "Veuillez compléter le nombres de lignes utilisées"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("H37:H42")) < cp Then
        MsgBox "Veuillez compléter le total boites"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("I37:I42")) < cp Then
        MsgBox "Veuillez compléter le total générale"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("K37:K42")) < cp Then
        MsgBox "Veuillez compléter le total boites manquante de la journée"
        Exit Sub
    End If

    If WorksheetFunction.CountA(Range("M37:M42")) < cp Then
        MsgBox "Veuillez compléter le total boites abîmées de la journée"
        Exit Sub
    End If

    ThisWorkbook.SaveAs ("\\GBNCDATA1\tech\05-Conditionner Bière & BG\2 - Suivi prod\1.Formulaire_A_Valider\Auto-contrôle dépaléttiseur boites du " & Format(Now(), "DD-MMM-YYYY hh-mm"))
    ThisWorkbook.Close
End Sub

Cdlt

Merci Arturo83 pour le temps que tu as consacré à mon problème, je viens d'essayer ton code et il fonctionne parfaitement.

Rechercher des sujets similaires à "probleme incompatibilite type"