IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur d'execution '13': incompatibilité de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Fonctionnaire

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut Erreur d'execution '13': incompatibilité de type
    Bonjour,

    J'ai une erreur que je n'arrive pas a résoudre (je suis novice en VBA) avec un userform
    c'est un userform "Moteur de recherche" pour un classeur excel, lorsque je rentre un mot recherché et que je clique sur le bouton validé il me met les resultats trouvé dans une listView et un double clique sur le mot trouver m'ouvre la page ou il se trouve.
    Mais depuis aujourd'hui, lorsque je clique sur validé il me met : Erreur d’exécution '13': incompatibilité de type

    et voici le code ou ce trouve l'erreur: (je l'ai repéré en rouge)

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Option Compare Text
    Sub EnTête()
        Dim i%, lbvis As Boolean
        If lbxPrest.RowSource <> "" Then
            lbvis = True
        Else
            lbvis = False
        End If
        For i = 1 To 3
            Controls("lbPr" & i).Visible = lbvis
        Next i
        
    End Sub
    
    Private Sub cbQuit_Click()
        Unload Me
    End Sub
    
    Private Sub cbValid_Click()
    Dim Cel As Range
        Application.ScreenUpdating = False
    'Range("A2:A24").Interior.ColorIndex = 2
        Me.ListView1.ListItems.Clear
        If ComboBox1 <> "" Then
    '      For i = Sheets.Count To 1 Step -1 'en mode de la dernière feuille à la première
          For i = 1 To Sheets.Count          'en mode de la première feuille à la dernière
            If Sheets(i).Name <> "Recherche" Then
                For Each Cel In Sheets(i).Range("A1:Z" & Sheets(i).Range("F" & Application.Rows.Count).End(xlUp).Row)
    '            For Each Cel In Sheets(i).Range("A1:Z2000")
                   If Cel.Row > 3 And Cel <> "" Then
                      If Cel Like "*" & ComboBox1 & "*" Then
    '                    Cel.Interior.ColorIndex = 43
                         UserForm1.ListView1.ListItems.Add , , Cel
                         UserForm1.ListView1.ListItems(UserForm1.ListView1.ListItems.Count).ListSubItems.Add , , Sheets(i).Name
                         UserForm1.ListView1.ListItems(UserForm1.ListView1.ListItems.Count).ListSubItems.Add , , Cel.Address
                      End If
                   End If
                Next Cel
             End If
          Next i
        End If
       Application.ScreenUpdating = True
    End Sub
    
    
    
    
    Private Sub ListView1_DblClick()
    Dim Feuille As String, Cellule As String
    Feuille = UserForm1.ListView1.SelectedItem.ListSubItems(1)
    Cellule = UserForm1.ListView1.SelectedItem.ListSubItems(2)
    
    If Me.ListView1.ListItems.Count <> 0 Then
       Sheets(Feuille).Activate
       Sheets(Feuille).Range(Cellule).Activate
       ActiveCell.EntireRow.Activate
    End If
    End Sub
    
    Private Sub userform_initialize()
      With Me.ListView1
            With .ColumnHeaders
            'Titres des colonnes
                .Clear
                'Ajout des colonnes
        
                .Add , , "Liste", 300, lvwColumnLeft
                .Add , , "Onglet", 116, lvwColumnLeft
                .Add , , "Cellule", 90, lvwColumnLeft
            End With
        .View = lvwReport 'affichage en mode Rapport
        .Gridlines = True 'affichage d'un quadrillage
        .FullRowSelect = True 'Sélection des lignes comlètes
        .LabelEdit = lvwManual
        .HideSelection = False
        .HotTracking = False
      End With
    
    End Sub
    Voici a quoi ressemble l'userfrom si ça peut aider.
    Nom : UserFrom.png
Affichages : 877
Taille : 47,9 Ko

    Merci pour vos aides

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    commence par renseigner les propriétés .Value à tes Cel qui ne les possèdent pas, on va déjà enlever les "lieux communs"

  3. #3
    Membre averti
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Fonctionnaire

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut
    Bonjour,

    C'est possible de me donner la procédure, car je n'ai pas compris.
    C'est tout nouveau pour moi le VBA.
    Merci

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    C'est possible de me donner la procédure, car je n'ai pas compris.
    C'est tout nouveau pour moi le VBA.
    C'eest pourtant simple :
    tu as écrit :
    donc cel est un objet (un objet Range)
    et dans ce cas, dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cel.Row > 3 And Cel <> "" Then
    comment peux-tu penser qu'un objet = "" ou est <> "" ?
    VBA est souvent tolérant et "devine" les mauvaises zabbibiktutudes et les corrige ... mais là ... NON ! C'est TROP et quand c'est trop, c'est trop.

  5. #5
    Membre averti
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Fonctionnaire

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut
    Bonjour unparia,

    Pour moi c'est pas facile du tout, pour la simple raison que se n'est pas moi qui l'ai écrit le code (trouve ici et là sur le net plus quelques interventions de personne pour l'adapter a mes besoin)
    j'arrive a comprendre quelque truc mais là j'avoue que je suis perdu.
    même votre réponse je la comprends pas

    Je demande qu'a apprendre le VBA (quelque chose de très intéressant) mais j'ai besoin de régler ce problème et je pense pas que le VBA s'apprend rapidement.

    et donc je ne sais absolument pas quoi mettre ni ou.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/07/2016, 19h30
  2. Réponses: 0
    Dernier message: 07/08/2015, 11h56
  3. Erreur d'execution 13 : incompatibilité de type
    Par forum2015 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 31/07/2014, 18h05
  4. [Toutes versions] erreur d'execution '13' : incompatibilité de type
    Par cecile_64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/06/2012, 08h23
  5. [XL-2010] erreur d'execution 13 incompatibilité de type
    Par rattus34 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/05/2012, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo