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 :

FormulaArray et erreur 1004


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 25
    Par défaut FormulaArray et erreur 1004
    Bonjour à tous,

    lorsque je rentre la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    =IF($B2="";"";IF(ISERROR(
    INDEX(Previous_Table!$AP$6:$AP$13000;MATCH(XSCL!B6&XSCL!H6;Previous_Table!$B$6:$B$13000&Previous_Table!$H$6:$H$13000;0)))=TRUE;"";IF(
    INDEX(Previous_Table!$AP$6:$AP$13000;MATCH(XSCL!B6&XSCL!H6;Previous_Table!$B$6:$B$13000&Previous_Table!$H$6:$H$13000;0))="";"";(
    INDEX(Previous_Table!$AP$6:$AP$13000;MATCH(XSCL!B6&XSCL!H6;Previous_Table!$B$6:$B$13000&Previous_Table!$H$6:$H$13000;0))))))
    directement sur excel je n'ai aucun problème mais lorsque je la code sur VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Range("Z3").Select
        Selection.FormulaArray = _
            "=IF(RC2="""","""",IF(ISERROR(" & _
            "" & Chr(10) & "INDEX(Previous_Table!R6C42:R13000C42,MATCH(XSCL!R[4]C[-24]&XSCL!R[4]C[-18],Previous_Table!R6C2:R13000C2&Previous_Table!R6C8:R13000C8,0)))=TRUE,"""",IF(" & _
            "" & Chr(10) & "INDEX(Previous_Table!R6C42:R13000C42,MATCH(XSCL!R[4]C[-24]&XSCL!R[4]C[-18],Previous_Table!R6C2:R13000C2&Previous_Table!R6C8:R13000C8,0))="""","""",(" & _
            "" & Chr(10) & "INDEX(Previous_Table!R6C42:R13000C42,MATCH(XSCL!R[4]C[-24]&XSCL!R[4]C[-18],Previous_Table!R6C2:R13000C2&Previous_Table!R6C8:R13000C8,0))))))"
    J'ai l'erreur 1004, impossible de définir la propriété FormulaArray de la classe Range. (unable to set the FormulaArray property of the range class)

    Quelqu'un aurait-il une solution ?

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Et si tu essayais avec Formula plutôt que FormulaArray ?

  3. #3
    Membre averti
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 25
    Par défaut
    Si je mets "formula seul" ça ne me met pas les acolades à la formule sur excel et donc ça n'effectue pas un calcul matriciel.

    D'ou la necessité de formulaArray je pense...

  4. #4
    Membre averti
    Femme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2013
    Messages : 25
    Par défaut
    En réduisant en dessous de 255 caractères ça marche mais bon c'est pas l'idéal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Range("AP6").Select
        Selection.FormulaArray = _
            "=IF(RC2="""","""",IFERROR(" & _
            "" & Chr(10) & "INDEX(Previous_Table!R6C42:R13000C42,MATCH(XSCL!R[4]C[-24]&XSCL!R[4]C[-18],Previous_Table!R6C2:R13000C2&Previous_Table!R6C8:R13000C8,0)),""""))"
    Si quelqu'un à une autre idée, ou alors comment pourrais-je diviser ma formule en trois bloc de moins de 255 caractères, je ne sais pas si cela est possible ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    Il y a avait eu une discussion similaire il y a quelque mois de ça sur le forum concernant la limite de 255 caractères en utilisant FormulArray. Excel dans les dernière version limite à (il me semble) 4096 caractères, mais le transfert VBA 7.1 (Excel 2013) et inférieur => EXCEL limite à 255 caratères seulement. Quelqu'un avait trouvé une solution d'ailleurs en y allant avec une fonction Replace que je ne saurait reproduire. Il faudrait retrouver le poste.

  6. #6

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    L'objet worksheetfunction a toutes tes fonctions.

    Tu peux contourner en les utilisant depuis VBA. Puis en appelant ta fonction depuis worksheet_change.

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

Discussions similaires

  1. pb Range: erreur 1004
    Par charlie105 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/11/2006, 17h10
  2. [VB-E] Erreur 1004 dans une boucle For
    Par lycaon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/11/2006, 22h41
  3. [VBA][EXCEL]Erreur '1004' avec "Application.Run"
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/01/2006, 10h50
  4. [Excel] Erreur 1004 avec un search
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2005, 13h54
  5. Insérer une image : Erreur 1004
    Par dp_favresa dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 26/10/2005, 14h01

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