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 Runtime 1004 lors de la création d'une validation en liste pour une cellule [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Par défaut Erreur Runtime 1004 lors de la création d'une validation en liste pour une cellule
    Bonjour, je suis actuellement en stage et un de mes projets consiste à faciliter l'utilisation d'un fichier excel pour des personnes en automatisant le plus de tâches possibles. L'une de ces automatisations consiste à proposer sur plusieurs lignes une liste déroulante pour l'une des colonnes montrant les valeurs contenues dans une autre feuille. Pour cela tout va bien mais mon problème est qu'une saisie semi-automatique est souhaité et pour cela, je passe à travers une validation en liste où j'utilise une formule. pour pouvoir créer cette cellule spéciale sur chaque nouvelle ligne, je passe par VBA.
    Mon code pour cela me semble correct mais j'ai cette erreur Runtime 1004 à chaque fois que j'essaie de créer une validation en liste pour une cellule. J'ai regardé de nombreuses pages où des personnes semblaient avoir des problèmes équivalents mais rien ne marche dans mon cas. Créer une validation d'un autre type fonctionne très bien et le problème ne vient pas de ma formule car même en laissant celle-ci vide, le problème apparaît. J'ai aussi fait apparaître la formule qui s'adapte à la ligne courante dans la fenêtre de debug et essayer de la copier manuellement, tout fonctionne bien. je supprime bien une supposé validation précédente avant d'ajouter la nouvelle, la cellule existe bien dans tous les cas puisque je viens d'ajouter la ligne. Je suis donc dépassé par cette erreur. Voici le code en question :
    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
    adresse = Mid(Selection.Address, 2, 1) & Mid(Selection.Address, 4)
        
        With Selection.Validation        
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=SI(" & adresse & "<>"""";DECALER(PremGrade;EQUIV(" & adresse & "&""*"";TriGrade;0)-1;;SOMME((STXT(TriGrade;1;NBCAR(" & adresse & "))=TEXTE(" & adresse & ";""0""))*1));TriGrade)"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
    Le code qui génère l'erreur est en gras.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 86
    Par défaut
    J'ai obtenu la réponse sur le forum MSDN, il faut mettre la formule en anglais quand on l'ajoute en VBA. Dans mon cas, cela donnait donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "=IF(" & adresse & "<>"""",OFFSET(PremGrade,MATCH(" & adresse & "&""*"",TriGrade,0)-1,,SUM((MID(TriGrade,1,LEN(" & adresse & "))=TEXT(" & adresse & ",""0""))*1)),TriGrade)"

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/08/2010, 17h40
  2. [XL-2007] Erreur 1004 lors de la création de TCD avec l'enregistreur de macro
    Par ryobanga dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/02/2010, 15h35
  3. [JDOM] Erreur de DTD lors de la création d'un objet JDOM
    Par Kerod dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 24/05/2007, 13h14
  4. Erreur ora 30574 lors de la création d'1 rollback_segment
    Par leng dans le forum Administration
    Réponses: 15
    Dernier message: 08/12/2006, 17h02
  5. Réponses: 4
    Dernier message: 23/05/2006, 17h04

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