1. #1
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 90
    Points : 52
    Points
    52

    Par défaut Erreur d'exécution: 13 incompatibilité de type

    Bonsoir

    J'ai une erreur d"exécution 13 à l'ouverture d'un formulaire.

    je pense que c'est le code en rouge,
    les valeurs de la colonne D sont des dates.
    Je ne comprend pas
    Merci pour une aide

    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
    Private Sub UserForm_Initialize()
    
       Set f = Sheets("BD")
       Set Rng = f.Range("A2:M" & f.[A65000].End(xlUp).Row)
       BD = Rng.Value
       
      Set d = CreateObject("Scripting.Dictionary")
      BD = f.Range("A2:N" & f.[A65000].End(xlUp).Row).Value
      
      Me.ListBox1.List = BD
      For i = LBound(BD) To UBound(BD)
        d(Year(BD(i, 4))) = ""
      Next i
      
      Me.ComboBox1.List = d.keys
      Me.ListBox1.ColumnCount = 14
       
       Ncol = Rng.Columns.Count
       Set dte = Range([D2], [A65536].End(xlUp))
       
       
       Set D2 = CreateObject("Scripting.Dictionary")
       Set d3 = CreateObject("Scripting.Dictionary")
       
       D2.CompareMode = vbTextCompare
       d3.CompareMode = vbTextCompare
       For i = LBound(BD) To UBound(BD)
       
        
        If Not D2.Exists(BD(i, 2)) Then D2(BD(i, 2)) = ""
        If Not d3.Exists(BD(i, 3)) Then d3(BD(i, 3)) = ""
       Next i
     
       temp = D2.keys
       Call Tri(temp, LBound(temp), UBound(temp))
       Me.ComboBox2.List = temp
       temp = d3.keys
       Call Tri(temp, LBound(temp), UBound(temp))
       Me.ComboBox3.List = temp
       Me.ListBox1.Clear
       
       Me.ComboBox1.ListIndex = -1
       Me.ComboBox2.ListIndex = -1
       Me.Enreg = f.[A65000].End(xlUp).Row + 1
       
       Me.ComboBox5.ColumnCount = 2
       Me.ComboBox5.ColumnWidths = "350,40"
       Me.ComboBox5.RowSource = "ceremonie"
       
        Me.Frame4.Visible = False
       F_calendrier2datesForm.Hide
    End Sub

  2. #2
    Expert éminent

    Homme Profil pro
    Développeur .NET
    Inscrit en
    janvier 2012
    Messages
    3 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : janvier 2012
    Messages : 3 774
    Points : 7 680
    Points
    7 680
    Billets dans le blog
    17

    Par défaut

    Bonjour,

    Dans un dictionnaire, tu dois avoir deux valeurs : un indice et une valeur.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    À force de vouloir considérer les utilisateurs comme des imbéciles patentés, on risque de se mettre dans le trouble.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 90
    Points : 52
    Points
    52

    Par défaut

    Merci pour la réponse mais je ne vois pas le problème, désolé pour mon faible niveau VBA.

    merci

  4. #4
    Membre émérite
    Femme Profil pro
    Étudiant
    Inscrit en
    octobre 2016
    Messages
    1 456
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 22
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2016
    Messages : 1 456
    Points : 2 383
    Points
    2 383

    Par défaut

    Bonjour,
    Un dictionnaire se contruit avec des doublons (clef;valeur). Il ne doit pas y avoir 2 clefs indentiques. Un exemple de dictionnaire, écrit "à la main" est :
    salade = {(pomme;3);(poire;4);(banane;3)} où les clefs sont les fruits et les valeurs le nombre de fruits.
    Si tu veux récupérer la valeur pour une clef donnée, tu utilises la propriété Item :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    valeurCherchee = salade.Item("pomme")
    valeurCherchee sera, alors égale à 3.
    J'espère que ça te permettra d'avancer

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 90
    Points : 52
    Points
    52

    Par défaut

    bonjour
    Merci beaucoup
    c'est plus clair expliqué comme ça
    j'ai pu régler le problème

  6. #6
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 573
    Points : 26 070
    Points
    26 070
    Billets dans le blog
    4

    Par défaut

    Salut.

    J'ai l'impression que tu essaies de faire des trucs bien complexes alors qu'il y a probablement plus simple.

    A la base, que cherches-tu à réaliser? A remplir un combobox multicolonnes? Si oui, oublie ce système de passer par des dictionnaires et tout le tintoin.

    Utilise AddItem. il paraît que c'est beaucoup plus lent (ça me fait doucement marrer, mais bon), mais c'est en tout cas beaucoup plus simple...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 90
    Points : 52
    Points
    52

    Par défaut

    Bonjour
    en fait je cherchais à remplir une listbox selon les choix dans trois combobox.
    Exemple
    La feuille nommée BD à 10 colonnes renseignées
    les lignes sont renseignées par un formulaire de saisie.
    Sur ce formulaire il y a trois trois combobox un listbox
    puis des champs textbox correspondant aux valeurs renvoyées lors d'une sélection d'une ligne sur le listbox.

    le combobox1 fait référence à la colonne 4 de la feuille BD les valeurs sont au format date.
    la liste de choix dans ce premier combo doit être l'année repris dans la colonne 4.
    le combo 2 fait référence à la colonne 2 (ville) la liste doit être triée par ordre croissant sans doublon.
    Idem pour le combox3 qui fait référence à la colonne3 (manifestion).

    le problème est que je n'arrive pas à trier par ordre croissant des dates qui s'affiche dans le listbox col4.

    et lorsque je sélectionne une ligne dans le listebox les valeurs renvoyées dans les textbox correspondants ne sont pas les bonnes.

    Voilà j'avance doucement
    j'ai repris un formulaire de ajout,modification, suppression réalisé par https://www.developpez.net/forums/u6...ontierjacques/

    bonne journée

  8. #8
    Responsable
    Office & Excel

    Avatar de Pierre Fauconnier
    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    10 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 10 573
    Points : 26 070
    Points
    26 070
    Billets dans le blog
    4

    Par défaut

    Tu marques la discussion comme résolue... mais tu me dis que "ça ne marche pas"...

    Au final, résolu ou pas résolu?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    Vous avez apprécié l'intervention => Merci pour le
    ---------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur d'exécution "13" incompatibilité de type
    Par zenico64 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 14/12/2010, 10h45
  2. Erreur d'exécution 13 : incompatibilité de type
    Par Ptikir dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/04/2009, 15h59
  3. erreur d'exécution 13 incompatibilité de type
    Par glamgeek dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2009, 12h03
  4. "erreur d'exécution 13 : incompatibilité de type"
    Par oliver75 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/07/2007, 15h47
  5. erreur d'exécution 13, incompatibilité de type
    Par PHPdudimanche dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/06/2007, 15h20

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