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 :

[VBA-E] - formule matricielle


Sujet :

Macros et VBA Excel

  1. #1
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut [VBA-E] - formule matricielle
    bonjour à tous, j'aurais voulu savoir la méthode en vba qui correspond aux formules matricielles ?

    merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    quelles formule matricielle?
    N'oubliez pas de mettre le

  3. #3
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    je vous envoie un exemple de ce que je voudrais coder en VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")
    cette formule est présente dans une macro excel que je dois retraduire en VBA. or, je ne connais pa la méthode correspondant a ce type de formule. pouvez vous m'aider ???

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Citation Envoyé par jimbololo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")
    cette formule est présente dans une macro excel que je dois retraduire en VBA. or, je ne connais pa la méthode correspondant a ce type de formule. pouvez vous m'aider ???
    Une macro Excel c'est déja du code VBA... si tu veux assigner la valeur d'un calcul a une cellule excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,1).formulaLocal = "=SOMME(A2:C3)"

    ca fonctionne tres bien par exemple



    En francais tu voudrais faire quoi avec ta FORMULE.MATRICIELLE
    N'oubliez pas de mettre le

  5. #5
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    je ne pense pa qu'une fonction "matricielle" fonctionne comme une fonction normale, sinon je ne vois pa pourquoi elle porterait le nom de matricielle. ce que je veux savoir, c'est si il y a une fonction pour retraduire cette formule dans mon module, comme activecell.formulalocal pour une formule normale...

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,1).formulaLocal =
    Tu as essayé avec ca?

    Ca marche surement... La formule est matricielle car elle travaille avec des Range de cellules, des matrices en fait... Donc la seule chose qui change avec des formules normales ce sont les parametres que tu lui donne c tout...

    Evidement s'il s'agit de soumettre un résultat sous forme de Range don retourner une matrice, ca ce sera une autre paire de manche et tu ne peux t'en sortir qu'a la main...
    N'oubliez pas de mettre le

  7. #7
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    ok alors j'essairai sa ! c'est parce que je ne savai pas si ces 2 formules fonctionnaient pareil, mais si tu me dis que c'est juste une question de paramètre alors il ne devrai pa y avoir de problèmes.

    merci a toi vesta ! je considère sa comme résolu !

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Pas de prob... Si ca ne fonctionne pas hésite pas et donne moi alors le code et la formule concernée je t'aiderai volontier...
    N'oubliez pas de mettre le

  9. #9
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    en fait je viens de découvrir sa dans l'aide (un peu tard je sai !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaArray="=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))"
    cette méthode correspondrai à l'utilisation de formules matricielle.

  10. #10
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    bonjour à tous,

    je vien de me rendre compte que mon problème de formule matricielle n'est toujours pa réglé. en effet,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ActiveCell.FormulaArray = "=SOMME((L(-" & li + 1 & ")C:L(-3)C)*(L(-" & li + 1 & ")C(7):L(-3)C(7)<>""""))"
    ne correspond pas à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    =FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")
    j'obtiens un message d'erreur comme quoi la méthode formulaArray n'est pas la méthode appropriée.

    j'ai alors essayé avec formulaLocal, cette fois pa de message d'erreur mais j'obtiens #VALEUR dans la cellule concernée. pourtant la formule est bonne.

    pouvez vous m'aider SVP ???

    merci d'avance

  11. #11
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ce que Vesta et les autre essayaient tant bient que mal de te faire comprendre c'est ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaLocal = _
    "=FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")"
    Y'auras surement des embrouilles avec les guillemets qui se trouve à l'intérieur, faudra tous les doubler sauf les deux à chaque bouts.

  12. #12
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    ok je vais essayé sa de suite merci zazaraignée !

  13. #13
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    bon j'ai essayé sa fonctionne pas, sa me met #NOM?, il ne prend plus =SOMME comme une fonction mais comme de texte ainsi que tout le reste, pourtant j'ai dédoublé les guillemets comme tu m'as dit !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
     
    "=FORMULE.MATRICIELLE(""=SOMME((L(-""& li+1 &"")C:L(-3)C)*(L(-""& li+1 &"")C(9):L(-3)C(9)<>""""))"")"

  14. #14
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    pourtant j'ai trouvé sa sur internet : http://dj.joss.free.fr/fonction.htm, disant qu'il faut utilisé selection.formulaArray !

    mais sa marche paaaaaas !!!

  15. #15
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Alors faudrait peut-être lire toute la rubrique. Il me semble qu'il y a plusieurs étapes dans son code...

  16. #16
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    j'aurais bien voulu que se soit sa mais les autres rubriques ne sont pas en rapport avec ce que je cherche. je croi que je ne suis pa couché !

  17. #17
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Dans ta formule, tu colles tout et Excel n'aime pas
    =FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")
    Si cette formule est celle de ta feuille de calcul, elle fonctionne avec FormulaLocal
    Tu dois mettre (comme malheureusement zaza ne l'a pas fait partout) un espace avant et après tes and (&)

    Tu dis... Si c'est pas ça, ce sont tes adresses. Tu es sûr de li ?

    A+

  18. #18
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    j'ai refait une formule plus simple parce que c'est vrai que c'est pa très clair avec les & li & et C(9). sa donne sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Selection.FormulaLocal = "=FORMULE.MATRICIELLE("=SOMME((L10C5:L18C5)*(L10C15:L18C15<>""""))"
    il veut pas des : !!!, je croi qu'il y a un problème dans la syntaxe mais je ne vois pa ou !?

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bon, je viens de regarder : tu une parenthèses "fermer" de trop avec la formule "acceptée" par Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    li = 5
    MsgBox "=FORMULE.MATRICIELLE(=SOMME((L(-" & li + 1 & ")C:L(-3)C)*(L(-" & li + 1 & ")C(9):L(-3)C(9) <>" & """ & """ & " )))"
    et regarde si ça colle avec ta formule (ton =Somme me chagrine une peu...

    A+

  20. #20
    En attente de confirmation mail
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 121
    Points : 85
    Points
    85
    Par défaut
    bon sa marche toujours pas il a toujours pas l'air d'aimer la syntaxe, j'ai essayé je ne sais pas combien de formule différente et soit j'ai un message d'erreur ou sois j'ai le droit au #NOM? dans ma cellule. je sais pas comment jvais faire mais la sa commence a me passer par dessus alor je vais laissé tomber pour l'instant!

    merci pour le temps que vous avez passé a m'aider, bonne continuation !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2007] Ecrire en Vba une formule matricielle
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2015, 13h40
  2. Formule matricielle VBA
    Par ninette24 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/04/2013, 15h15
  3. [XL-2007] Challenge : formule matricielle ne marche plus quand elle est insérée par VBA
    Par Tchesko dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/10/2012, 11h29
  4. vba - problème enregistrement de formule matricielle
    Par philppe27 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/02/2012, 17h41
  5. [XL-2003] Formule matricielle en VBA
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/06/2009, 11h24

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