Erreur d'exécution 13 Incompatibilité de type

Résolu/Fermé
grace - Modifié le 25 août 2020 à 14:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 févr. 2015 à 14:48
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) <> ""

<bold>If Cells(i, 3) = défauts Then</bold>
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!!!!
Configuration: Windows 2003 / Internet Explorer 7.0
A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
18 août 2011 à 10:27
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)?
7
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
2
achacheachache Messages postés 14 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 25 février 2015 1
Modifié par pijaku le 25/02/2015 à 14:41
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
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > achacheachache Messages postés 14 Date d'inscription jeudi 19 février 2015 Statut Membre Dernière intervention 25 février 2015
25 févr. 2015 à 14:48
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
0