bonjour à tous, j'aurais voulu savoir la méthode en vba qui correspond aux formules matricielles ?
merci d'avance
bonjour à tous, j'aurais voulu savoir la méthode en vba qui correspond aux formules matricielles ?
merci d'avance
quelles formule matricielle?
N'oubliez pas de mettre le
je vous envoie un exemple de ce que je voudrais coder en VBA :
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 ???
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)<>""""))")
Une macro Excel c'est déja du code VBA... si tu veux assigner la valeur d'un calcul a une cellule excel:Envoyé par jimbololo
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
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...
Tu as essayé avec ca?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cells(1,1).formulaLocal =
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
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 !
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
en fait je viens de découvrir sa dans l'aide (un peu tard je sai !)
cette méthode correspondrai à l'utilisation de formules matricielle.
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)<>""""))"
bonjour à tous,
je vien de me rendre compte que mon problème de formule matricielle n'est toujours pa réglé. en effet,
ne correspond pas à :
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)<>""""))"
j'obtiens un message d'erreur comme quoi la méthode formulaArray n'est pas la méthode appropriée.
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'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
Ce que Vesta et les autre essayaient tant bient que mal de te faire comprendre c'est ceci:
Y'auras surement des embrouilles avec les guillemets qui se trouve à l'intérieur, faudra tous les doubler sauf les deux à chaque bouts.
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)<>""""))")"
- Pour les nouveaux : Mode d'emploi et aide aux nouveaux
- et impérativement les règles du forum. Histoire de garder une ambiance amicale.
- Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
- Cours Excel - FAQ Excel - Forum Excel - Cours VBA - Cours complet VBA Excel
ok je vais essayé sa de suite merci zazaraignée !
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)<>""""))"")"
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 !!!
Alors faudrait peut-être lire toute la rubrique. Il me semble qu'il y a plusieurs étapes dans son code...
- Pour les nouveaux : Mode d'emploi et aide aux nouveaux
- et impérativement les règles du forum. Histoire de garder une ambiance amicale.
- Noubliez pas les balises de Code pour vos listings : bouton # de l'éditeur. Et n'oubliez pas non plus de bouton
- Cours Excel - FAQ Excel - Forum Excel - Cours VBA - Cours complet VBA Excel
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é !
Dans ta formule, tu colles tout et Excel n'aime pas
Si cette formule est celle de ta feuille de calcul, elle fonctionne avec FormulaLocal=FORMULE.MATRICIELLE("=SOMME((L(-"&li+1&")C:L(-3)C)*(L(-"&li+1&")C(9):L(-3)C(9)<>""""))")
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+
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 :
il veut pas des : !!!, je croi qu'il y a un problème dans la syntaxe mais je ne vois pa ou !?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Selection.FormulaLocal = "=FORMULE.MATRICIELLE("=SOMME((L10C5:L18C5)*(L10C15:L18C15<>""""))"
Bon, je viens de regarder : tu une parenthèses "fermer" de trop avec la formule "acceptée" par Excel
et regarde si ça colle avec ta formule (ton =Somme me chagrine une peu...
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) <>" & """ & """ & " )))"
A+
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 !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager