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'exécution incompatibilité de type erreur 13


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Par défaut Erreur d'exécution incompatibilité de type erreur 13
    bonsoir à tous et toutes

    j'ai ce code dans un fichier
    qui me donne le vertige

    cette ligne me donne erreur 13 incompatibilité de type
    il me sert à afficher une sélection de type de voie en fonction de la ville
    ex si à la ville de brou il existe une rue, quartier
    la sélection n'affichera que les noms existants
    J'ai mis la totalité du code pour mieux me corriger
    Par avance je vous remercie

    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
    80
    81
    82
    Public f1 As Worksheet, f2 As Worksheet, dico As Object							
    Public derlig&, i&, col&, ComboBox1, ComboBox2, ComboBox3, ComboBox4, flag2, plage							
     
    Public Sub Init_Combo1() 'SÉLECTION DE LA VILLE							
    'On Error Resume Next							
        UserForm1.ComboBox1.Clear							
     
        Set dico = CreateObject("Scripting.Dictionary")							
        Set f2 = Sheets("Feuil1")							
     
        derlig = f1.Range("c" & Rows.Count).End(xlUp).Row							
         ComboBox1 = f1.Range("c2:v" & derlig).Value							
     
     
        For i = LBound(ComboBox1) To UBound(ComboBox1)							
            If ComboBox1(i, 1) = UserForm1.TextBox1.Text Then dico(ComboBox1(i, 2)) = ComboBox1(i, 2)							
        Next i							
     
        With UserForm1							
            .ComboBox1.List = dico.items							
            .ComboBox1.ListIndex = -1							
        End With							
    End Sub							
     
    Public Sub Init_Combo2()							
    Dim ln							
    flag2 = 1							
      '  Combobox3.Clear							
      '  Combobox4.Clear							
        flag2 = 0							
        dico.RemoveAll							
     
        'On va lister les voies dont on a choisi le type							
        For col = 3 To UBound(plage, 2)						(cette ligne me donne erreur 13 imcompatbilité de type	
            If UCase(plage(ln, col)) Like UCase(ComboBox2) & "*" Then						il me sert à afficher une sélection de type de voie en fonction de la ville	
                dico(plage(ln, col)) = ""						ex si  à la ville de brou il existe  une rue, quartier  	
            End If						la sélection n'affichera que les noms existants)	
        Next col							
        ComboBox3.List = Application.Transpose(dico.keys)							
        End Sub							
     
    Public Sub Init_Combo3()							
     
        UserForm1.ComboBox3.Clear							
     
        Set dico = CreateObject("Scripting.Dictionary")							
        Set f1 = Sheets("Feuil1")							
     
        derlig = f1.Range("c" & Rows.Count).End(xlUp).Row							
         ComboBox3 = f1.Range("c2:v" & derlig).Value							
     
     
        For i = LBound(ComboBox3) To UBound(ComboBox3)							
            If ComboBox3(i, 3) = UserForm1.ComboBox2.Text Then dico(ComboBox3(i, 4)) = ComboBox3(i, 4)							
        Next i							
     
        With UserForm1							
            .ComboBox3.List = dico.items							
            .ComboBox3.ListIndex = -1							
        End With							
    End Sub							
     
    Public Sub Init_Combo4()							
     
        UserForm1.ComboBox4.Clear							
     
        Set dico = CreateObject("Scripting.Dictionary")							
        Set f1 = Sheets("Feuil1")							
     
        derlig = f1.Range("a" & Rows.Count).End(xlUp).Row							
         ComboBox4 = f1.Range("a2:v" & derlig).Value							
     
     
        For i = LBound(ComboBox4) To UBound(ComboBox4)							
            If ComboBox4(i, 4) = UserForm1.ComboBox3.Text Then dico(ComboBox2(i, 5)) = ComboBox2(i, 5)							
        Next i							
     
        With UserForm1							
            .ComboBox4.List = dico.items							
            .ComboBox4.ListIndex = -1							
        End With							
    End Sub

  2. #2
    Membre Expert Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 671
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 671
    Par défaut
    J'ai 2 remarques:
    flag2 prend 2 valeurs distinctes; flag2 = 1 et flag2 = 0; pourquoi ?
    La variable "plage" est bien définie, mais tu ne lui assignes aucune valeur donc UBound(plage, 2) = UBound(NULL, 2), d'où l'erreur

  3. #3
    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
    et si ComboBox1, ComboBox2, ComboBox3 et ComboBox4 sont des objets existants du projet, ils n'ont pas à être déclarés ni typés.

  4. #4
    Membre actif
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Par défaut erreur d'execution incompatibilite de type
    Bonsoir à tous et toutes

    Messieurs je vous remercie de l'aide
    je m'en vais l'essayer de ce pas

    Encore une fois merci

  5. #5
    Membre actif
    Homme Profil pro
    retraite
    Inscrit en
    Avril 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2017
    Messages : 12
    Par défaut Erreur d'exécution incompatibilité de type erreur 13
    Bonsoir à tous

    désolé je cale je ne trouve pas la solution

    Merci si vous pouvez vous pencher sur mon problème

    Je vous remercie par avance

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Zekraoui_Jakani Voir le message
    La variable "plage" est bien définie, mais tu ne lui assignes aucune valeur donc UBound(plage, 2) = UBound(NULL, 2), d'où l'erreur
    Et surtout, elle n'est pas déclarée comme variable tableau.
    Donc, par défaut, elle sera déclarée comme de type Variant à... 0 dimension.
    Il est donc normal que VBA couine quand tu lui demandes la taille de sa deuxième dimension (alors qu'elle n'en a aucune).

Discussions similaires

  1. [AC-2010] Incompatibilité de type (Erreur 13)
    Par toumack dans le forum VBA Access
    Réponses: 11
    Dernier message: 05/01/2013, 14h17
  2. [XL-MAC 2011] Incompatibilité de type, erreur N° 13
    Par Gogia dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/12/2012, 17h50
  3. [XL-2003] incompatibilité de type erreur 13
    Par will-1981 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/04/2009, 23h50
  4. [E-03] - Incompatibilité de type - Erreur 13
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/02/2009, 22h47
  5. incompatibilité de type erreur 13
    Par nabelou1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/01/2009, 17h37

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