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'éxécution '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 très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut Erreur d'éxécution '13' incompatibilité de type
    Bonjour,
    Dans le code ci-dessous, j'ai une erreur d'exécution '13' sur For Each c in [ticket].
    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Address = "$C$8" Then
        Set d = CreateObject("Scripting.Dictionary")
        For Each c In [ticket]: d(c.Value) = "": Next c
        Target.Validation.Delete
        Target.Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
      End If
        If Target.Address = "$D$8" Then
        Set d = CreateObject("Scripting.Dictionary")
        For Each c In [Engin]: d(c.Value) = "": Next c
        Target.Validation.Delete
        Target.Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
      End If
     
    End Sub
    Cette erreur est-elle due à [ticket] ?
    Merci

  2. #2
    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 jopont Voir le message
    Cette erreur est-elle due à [ticket] ?
    C'est quoi [ticket] ?

    Tu devrais déclarer tes variables, en particulier c, pour qu'elles aient un type défini.

  3. #3
    Membre très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut
    Bonjour,

    [ticket] est un nom défini, il correspond à un range.
    J'ai déclaré c as range, et j'ai toujours la même erreur.

  4. #4
    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
    Lorsque le plantage se produit, quelle est la valeur de c ?
    Que contient la case qu'il référence ?

  5. #5
    Membre très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut
    La case qu'il référence est du texte.

  6. #6
    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
    Je ne comprends pas car l'inscription dans un dictionnaire avec ce code ne devrait normalement pas générer d'erreur, quel que puisse être le contenu de c (y compris si en erreur)
    Si, par contre on cherche a afficher ce contenu (et non à alimenter un dictionnaire), alors là oui, nous aurions une erreur 13 si c est en erreur. Mais pas en uniquement abondant le dictionnaire.

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Citation Envoyé par jopont Voir le message
    Bonjour,
    [ticket] est un nom défini, il correspond à un range.
    D'où vient cette syntaxe?
    Pour utiliser des plages nommées, l'enregistreur de macro donne Range("nom_de_la_plage").

Discussions similaires

  1. erreur d'éxécution 13 Incompatibilité de type
    Par thomasaurelien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/11/2016, 16h59
  2. Erreur d'éxcution "13" incompatibilité de type
    Par sossso112333 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/08/2014, 21h16
  3. [XL-2010] Erreur d'éxécution 13 - Incompatibilité de Type
    Par denandg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2013, 15h15
  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