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 :

PB sur la propriete Formulaarray


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut PB sur la propriete Formulaarray
    Bonjour,

    J'ai un problème sur formulaaray, j'ai des formules excel que je prefere garder plutot que de faire avec une sub.

    Je voudrais creer une formule matricielle dans excel par macro

    voici mon code mais j'ai une erreur ( la formule marche trés bien par contre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IFERROR(MIN(IF(ISNUMBER(FIND(INDIRECT(ADDRESS(6;MATCH(H6;6:6;0)));Produits!$N$7:$N$12));Produits!$L$7:$L$12));TODAY())
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(MyRow + 1, NBC + 1).FormulaArray = "=IFERROR(MIN(IF(ISNUMBER(FIND(INDIRECT(ADDRESS(6;MATCH(R6C16;R6;0);;0);FALSE);Produits!R7C14:R12C14));Produits!R7C12:R12C12));TODAY())"
    La formule est correcte et marche mais j'ai une erreur comme quoi il ne peut pas appliquer le formulaarray au range ce qui est ilogique vu que c'est un attribut de la classe range... lol

    donc il y aurait une erreur ou un truc qui m'echape

    "Unable to set the formulaarray property of the range class"


    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour !

    J'ai l'impression de voir une grossière erreur mais autant vérifier par toi même comme pourtant expliqué dans le tutoriel !

    • Entrer manuellement la formule matricielle dans une cellule et vérifier le résultat.

    • La cellule contenant la formule doit être la cellule active puis côté VBE, ouvrir la fenêtre Exécution (CTRL + G)

    et taper la commande suivante : ?activecell.formulaarray

    La formule en version native est affichée, il suffit de la recopier dans le code !
    En cas de présence de guillemets dans la formule native, il faut les doubler dans le code …

    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …

  3. #3
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Bonjour,

    Alors le problème n'est pas résolu ceci dit j'ai bien aimé la methode que tu m'a proposé, j'ai appris un truc merci

    sinon j'ai recopié la formule et ca ne marche tjs pas .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(MyRow + 1, NBC + 1).FormulaArray = "=IF(MIN(IF(ISNUMBER(FIND(INDIRECT(ADDRESS(6,MATCH(P6,6:6,0))),Produits!$N$7:$N$12)),Produits!$L$7:$L$12))<>0,MIN(IF(ISNUMBER(FIND(INDIRECT(ADDRESS(6,MATCH(P6,6:6,0))),Produits!$N$7:$N$12)),Produits!$L$7:$L$12)),DATE(2016,1,1))"
    c'est ce que me propose l'immediate il n'y a pas de texte dans ma formule donc pas besoin de doubler les "" donc je ne comprend tjs pas d'ou ca peut venir .

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Pourtant là il n'y a plus l'erreur initiale : les points-virgules au lieu des virgules …

    Si tu a bien replacé la formule dans la cellule d'origine, je laisse la place aux spécialistes des formules matricielles en VBA !

  5. #5
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Ah oui effectivement,

    De toute façon j'ai fait un copy pastespecial sur la formule, mais si quelqu'un a une explication je suis preneur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    .Range("ExempleFormula").Copy
                    .Cells(MyRow + 1, NBC).PasteSpecial Paste:=xlPasteFormulas

    Pas térible mais comme ca j'avance

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Comme c'est visuel, avec un peu d'observation, tu devrais trouver …

Discussions similaires

  1. [MCD] sur la propriete date
    Par chettane dans le forum Schéma
    Réponses: 2
    Dernier message: 07/02/2011, 18h01
  2. Question sur les proprietes
    Par Seth77 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 12/03/2010, 15h19
  3. Information sur une propriete
    Par Seth77 dans le forum C#
    Réponses: 6
    Dernier message: 17/12/2008, 01h39
  4. Binding sur une propriete
    Par Seth77 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/08/2008, 15h47
  5. utilisation like sur un propriete d'une table
    Par mwanjany dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/10/2007, 16h53

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