Bonjour à tous (et encore merci à Nicolas B. pour le coup de main de la
semaine passée...)
Je dispose d'une fonction personnalisée (ICMORT) a laquelle je donne
pour argument 2 plages de cellules (M_MORT et M_TOT) de mon fichier
EXCEL. (vous trouverez tout en bas le code de cette fonction)....
Or M_TOT est une plage de cellule qui est issue de la Somme de M_MORT et
d'une autre plage de meme taille (que j'appelle M_VIV)..
Je voudrais appeler ma fonction ICMORT directement avec les arguments
M_MORT et M_VIV ce qui m'éviterai de devoir constituer M_TOT en préalable.
Ma question est donc de savoir, dans ma fonction ICMORT, comment je peux
faire pour, a partir de mes plages M_MORT et M_VIV placées en argument,
créer une matrice de même taille appelé M_TOT utilisable dans mon
calcul.....
Après tout un Week end de réfléxion, je sèche total.....
Merci d'avance...
Michel
PS le code de ma fameuse fonction ICMORT :
------------------------------------------------
Function ICMORT(M_MORT As Range, M_TOT As Range, Alpha As Integer) As Double
Dim SIGMA As Double
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
"Michel" a écrit dans le message de news: Bonjour à tous (et encore merci à Nicolas B. pour le coup de main de la semaine passée...)
Je dispose d'une fonction personnalisée (ICMORT) a laquelle je donne pour argument 2 plages de cellules (M_MORT et M_TOT) de mon fichier EXCEL. (vous trouverez tout en bas le code de cette fonction)....
Or M_TOT est une plage de cellule qui est issue de la Somme de M_MORT et d'une autre plage de meme taille (que j'appelle M_VIV).. Je voudrais appeler ma fonction ICMORT directement avec les arguments M_MORT et M_VIV ce qui m'éviterai de devoir constituer M_TOT en préalable.
Ma question est donc de savoir, dans ma fonction ICMORT, comment je peux faire pour, a partir de mes plages M_MORT et M_VIV placées en argument, créer une matrice de même taille appelé M_TOT utilisable dans mon calcul.....
Après tout un Week end de réfléxion, je sèche total.....
Merci d'avance...
Michel
PS le code de ma fameuse fonction ICMORT : ------------------------------------------------ Function ICMORT(M_MORT As Range, M_TOT As Range, Alpha As Integer) As Double Dim SIGMA As Double
End Function -----------------------------------------------
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction.
Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'--------------------------------
Function LaSomme(toto As Range, tata As Range)
"Michel" <mropert@ifremer.fr> a écrit dans le message de news:4083B5D0.30202@ifremer.fr...
Bonjour à tous (et encore merci à Nicolas B. pour le coup de main de la
semaine passée...)
Je dispose d'une fonction personnalisée (ICMORT) a laquelle je donne
pour argument 2 plages de cellules (M_MORT et M_TOT) de mon fichier
EXCEL. (vous trouverez tout en bas le code de cette fonction)....
Or M_TOT est une plage de cellule qui est issue de la Somme de M_MORT et
d'une autre plage de meme taille (que j'appelle M_VIV)..
Je voudrais appeler ma fonction ICMORT directement avec les arguments
M_MORT et M_VIV ce qui m'éviterai de devoir constituer M_TOT en préalable.
Ma question est donc de savoir, dans ma fonction ICMORT, comment je peux
faire pour, a partir de mes plages M_MORT et M_VIV placées en argument,
créer une matrice de même taille appelé M_TOT utilisable dans mon
calcul.....
Après tout un Week end de réfléxion, je sèche total.....
Merci d'avance...
Michel
PS le code de ma fameuse fonction ICMORT :
------------------------------------------------
Function ICMORT(M_MORT As Range, M_TOT As Range, Alpha As Integer) As Double
Dim SIGMA As Double
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
"Michel" a écrit dans le message de news: Bonjour à tous (et encore merci à Nicolas B. pour le coup de main de la semaine passée...)
Je dispose d'une fonction personnalisée (ICMORT) a laquelle je donne pour argument 2 plages de cellules (M_MORT et M_TOT) de mon fichier EXCEL. (vous trouverez tout en bas le code de cette fonction)....
Or M_TOT est une plage de cellule qui est issue de la Somme de M_MORT et d'une autre plage de meme taille (que j'appelle M_VIV).. Je voudrais appeler ma fonction ICMORT directement avec les arguments M_MORT et M_VIV ce qui m'éviterai de devoir constituer M_TOT en préalable.
Ma question est donc de savoir, dans ma fonction ICMORT, comment je peux faire pour, a partir de mes plages M_MORT et M_VIV placées en argument, créer une matrice de même taille appelé M_TOT utilisable dans mon calcul.....
Après tout un Week end de réfléxion, je sèche total.....
Merci d'avance...
Michel
PS le code de ma fameuse fonction ICMORT : ------------------------------------------------ Function ICMORT(M_MORT As Range, M_TOT As Range, Alpha As Integer) As Double Dim SIGMA As Double
End Function -----------------------------------------------
Michel
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" (= Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !)
que c'est ce que j'avais fait....
Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre
alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question :
Comment, en faisant référence aux plages "Toto" et "Tata" (de taille
identiques) , je peux créer, dans ma fonction, une matrice "Titi" (=
Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction.
Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'--------------------------------
Function LaSomme(toto As Range, tata As Range)
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" (= Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" a écrit dans le message de news: Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter
'---------------------------
Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long
T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T
Arr(A) = Range("Toto")(A) + Range("Tata")(A)
Next
LaSomme = Application.Transpose(Arr)
End Function
'---------------------------
Salutations!
"Michel" <mropert@ifremer.fr> a écrit dans le message de news:4083CC39.10905@ifremer.fr...
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !)
que c'est ce que j'avais fait....
Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre
alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question :
Comment, en faisant référence aux plages "Toto" et "Tata" (de taille
identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction.
Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'--------------------------------
Function LaSomme(toto As Range, tata As Range)
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" a écrit dans le message de news: Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci !!!!
j'essaye ca dès que j'ai 5 minutes et te tiens au courant....
Michel
michdenis a écrit:
Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" a écrit dans le message de news: Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( >Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci !!!!<br> <br> j'essaye ca dès que j'ai 5 minutes et te tiens au courant....<br> <br> Michel<br> <br> <br> michdenis a écrit:<br> <blockquote type="cite" cite=""> <pre wrap="">Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" <a class="moz-txt-link-rfc2396E" href="mailto:"><></a> a écrit dans le message de <a class="moz-txt-link-freetext" href="news:">news:</a>... Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci
!!!!
j'essaye ca dès que j'ai 5 minutes et te tiens au courant....
Michel
michdenis a écrit:
Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter
'---------------------------
Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long
T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T
Arr(A) = Range("Toto")(A) + Range("Tata")(A)
Next
LaSomme = Application.Transpose(Arr)
End Function
'---------------------------
Salutations!
"Michel" <mropert@ifremer.fr> a écrit dans le message de news:4083CC39.10905@ifremer.fr...
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !)
que c'est ce que j'avais fait....
Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre
alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question :
Comment, en faisant référence aux plages "Toto" et "Tata" (de taille
identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( >Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction.
Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'--------------------------------
Function LaSomme(toto As Range, tata As Range)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci
!!!!<br>
<br>
j'essaye ca dès que j'ai 5 minutes et te tiens au courant....<br>
<br>
Michel<br>
<br>
<br>
michdenis a écrit:<br>
<blockquote type="cite" cite="midei3E3OhJEHA.2432@TK2MSFTNGP10.phx.gbl">
<pre wrap="">Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter
'---------------------------
Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long
T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T
Arr(A) = Range("Toto")(A) + Range("Tata")(A)
Next
LaSomme = Application.Transpose(Arr)
End Function
'---------------------------
Salutations!
"Michel" <a class="moz-txt-link-rfc2396E" href="mailto:mropert@ifremer.fr"><mropert@ifremer.fr></a> a écrit dans le message de <a class="moz-txt-link-freetext" href="news:4083CC39.10905@ifremer.fr">news:4083CC39.10905@ifremer.fr</a>...
Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !)
que c'est ce que j'avais fait....
Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre
alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question :
Comment, en faisant référence aux plages "Toto" et "Tata" (de taille
identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction.
Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'--------------------------------
Function LaSomme(toto As Range, tata As Range)
C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci !!!!
j'essaye ca dès que j'ai 5 minutes et te tiens au courant....
Michel
michdenis a écrit:
Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" a écrit dans le message de news: Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( >Toto + Tata) utilisable dans mon calcul...
Cordialement
Michel
michdenis a écrit:
Bonjour Michel,
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> </head> <body> C'est génial.... a chaque fois j'en apprends un peu plus.... merci merci !!!!<br> <br> j'essaye ca dès que j'ai 5 minutes et te tiens au courant....<br> <br> Michel<br> <br> <br> michdenis a écrit:<br> <blockquote type="cite" cite=""> <pre wrap="">Bonjour Michel,
Et ceci :
Tu dois sélectionner la plage de cellule de destination et tu entres la fonction et tu valides par Ctrl + Maj + Enter '--------------------------- Function LaSomme(toto As Range, Tata As Range)
Dim Arr(), T As Long, A As Long T = Range("toto").Rows.Count
ReDim Arr(1 To T)
For A = 1 To T Arr(A) = Range("Toto")(A) + Range("Tata")(A) Next
LaSomme = Application.Transpose(Arr)
End Function '---------------------------
Salutations!
"Michel" <a class="moz-txt-link-rfc2396E" href="mailto:"><></a> a écrit dans le message de <a class="moz-txt-link-freetext" href="news:">news:</a>... Il me semble, à la syntaxte pret (la tienne a l'air tellement simple !) que c'est ce que j'avais fait.... Mais dans ce cas, le résultat "LaSomme" que j'obtenais etait un nombre alors que je souhaitais avoir une matrice
En fait, pour simplifier ma question : Comment, en faisant référence aux plages "Toto" et "Tata" (de taille identiques) , je peux créer, dans ma fonction, une matrice "Titi" ( Toto + Tata) utilisable dans mon calcul...
Je n'ai pas suivi toute ta démonstration, mais il y a une façon simple de passer une plage nommée à une fonction. Utilise comme variable le nom de tes plages nommées... cela simplifiera ta syntaxe.
exemple : 2 Plages nommées : "toto" et "tata que je veux additionner dans une fonction personnalisée :
Dans ma fonction, je peux utiliser ces syntaxes pour les additionner !
Si cela peut t'aider à résoudre tes difficultés !!!
'-------------------------------- Function LaSomme(toto As Range, tata As Range)