Erreur d'exécution 13 Incompatibilité de type [Résolu/Fermé]

Signaler
-
Messages postés
12177
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 juin 2020
-
Bonjour,

Je ne comprend pas pourquoi j'ai une erreur d'execution 13 : incompatibilité de type car mon code marchait très bien avant...Je met en gras la ligne où il y a l'erreur


'affichage des feuilles concernées et vérification des champs
Sheets("Recap").Visible = True
If Cathégories = "" Then
MsgBox "Sélectionnez une catégorie de défauts dans la liste déroulante"
ElseIf défauts = "" Then
MsgBox "Sélectionnez un défauts qualité dans la liste déroulante"
Exit Sub
End If

Dim i As Integer
Dim n As Integer
n = 3
i = 2

MsgBox "Veuillez patienter pendant le traitement..."
Application.Cursor = xlWait   'affiche le sablier

'Suppression des données du récap
Worksheets("Recap").Range("A3:Z1500").ClearContents

'recherche les lignes ou il y a le défaut et la/les machine/s choisie
'copie les lignes et les colle dans la récap
If défauts <> "" Then
n = 3
i = 2
Do While Cells(i, 1) <> ""

If Cells(i, 3) = défauts Then
j = 1
Do While Sheets("Machines").Cells(j, 1) <> ""
If Cells(i, 1) = Sheets("Machines").Cells(j, 1) Then
Worksheets("2011 (2)").Select
Worksheets("2011 (2)").Rows(i).Select
Worksheets("2011 (2)").Rows(i).Copy
Worksheets("Recap").Select
Worksheets("Recap").Rows(n).Select
ActiveSheet.Paste
n = n + 1
Worksheets("2011 (2)").Select
End If
j = j + 1
Loop

End If
i = i + 1
Loop

Sheets("Machines").Visible = False

'Trier les données par machine
Worksheets("Recap").Select
Range("A2:Z1500").Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

End If
Application.Cursor = xlDefault 'remet le curseur par défaut
Else
Exit Sub
End If
End Sub


Ce qui est bizarre c'est qu'il fait le code correctement puisque toutes lignes concernées sont copiées et collées dans la récap! Il doit y avoir un bug sur la fin de la boucle...(je pense!)
Merci d'avance si vous pouvez m'aider...mon PC va finir par la fenetre!!!!

2 réponses

Messages postés
12177
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 juin 2020
2 449
Bonjour,
En général, erreur d'execution 13 : incompatibilité de type est du à une mauvaise déclaration de variable ou à une mauvaise utilisation de cette variable.
Exemple :
Dim MaVar As String
MaVar = "Texte"
MsgBox CDbl(MaVar)
va renvoyer l'erreur d'execution 13 sus-mentionnée.

Le code que vous nous communiquez plus haut est incomplet.
- Pourriez vous nous le donner dans sa globalité, de Sub Machin() à End Sub.
- Ou est il placé? Module standard, Module de feuille...
- Avez vous activé Option Explicit (obligation de déclaration des variables)?
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61367 internautes nous ont dit merci ce mois-ci

Bonjour,

Merci pour votre commentaire...
En réalité, j'ai fini par trouver moi même. Il s'avère que mes cellules avait un format standard alors que dans mon programme je les assimilais à du texte. J'ai donc tout passé en format de cellule texte....et plus d'erreur!

Merci quand même de m'avoir apporter une réponse
Grace
Messages postés
14
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
25 février 2015

bonjour j'ai la meme erreur pour ce programme, ca fait 3 jours que j'essaie de le débeuger et j'arrive toujours pas .
pouvez vous m'aider svp


Public Sub Essai()
    Dim i As Integer, DerniereLigne As Integer
    With Worksheets("Situation 092014 à 012015") 
        DerniereLigne = .Range("A65536").End(xlUp).Row

        For i = DerniereLigne To 1 Step -1
            If .Cells(i, 2) = "" And _
                .Cells(i, 3) = "" And _
                .Cells(i, 4) = "" And _
                .Cells(i, 5) = "" And _
                .Cells(i, 6) = "" And _
                .Cells(i, 1) <> "Absence" And _
    .Cells(i, 1) <> "activité syndicale hors poste de travail" And _
                .Cells(i, 1) <> "Délégation" And _
                .Cells(i, 1) <> "Delegation HC" And _
                .Cells(i, 1) <> "autres absences " And _
                .Cells(i, 1) <> "autres activités" And _
                .Cells(i, 1) <> "Présence activité syndicale" And _
                .Cells(i, 1) <> "" And _
                .Cells(i, 1) <> "sous total" Then
                    .Rows(i).Delete
            End If
'si une ligne du classeurs n'a aucune valeurs dans ces colonnes elle sera supprimer ..
'Absence, présence activité syndicale,autres activités, autres absences, les sous totaux,et les totaux ne serons pas supprimés
        Next i
    End With
End Sub
Messages postés
12177
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 juin 2020
2 449 >
Messages postés
14
Date d'inscription
jeudi 19 février 2015
Statut
Membre
Dernière intervention
25 février 2015

Bonjour,

Ce message est en doublon.
Je vais donc te répondre sur la discussion originale.
La suite ici : https://forums.commentcamarche.net/forum/affich-31586037-help-erreur-13-incompatibilite-type
up!
Quelqu'un peut-il m'aider?