Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" <bertrouf@discussions.microsoft.com> a écrit dans le message de
news: 17BA279E-A619-403A-8DB0-68A89DD46999@microsoft.com...
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" <bertrouf@discussions.microsoft.com> a écrit dans le message de
news: 17BA279E-A619-403A-8DB0-68A89DD46999@microsoft.com...
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:
Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" <bertrouf@discussions.microsoft.com> a écrit dans le message de
news: 17BA279E-A619-403A-8DB0-68A89DD46999@microsoft.com...
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:Je termine ma journée maintenant, mais je reviendrai vous poser des questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as un
problème, mets manuellement ta formule dans la feuille, et, dans une macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je fais
la
somme des valeurs de la colonne B si et seulement si la colonne A donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray = "=Sum(A1:C3)"
--
--
@+
;o)))
Je pense avoir trouvé le problème : ma formule dépasse les 255 caractères.
http://support.microsoft.com/kb/201354/fr
Mais je cherche toujours la solution...
Bertrouf
"bertrouf" wrote:Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR("
_
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:Je termine ma journée maintenant, mais je reviendrai vous poser des
questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as
un
problème, mets manuellement ta formule dans la feuille, et, dans une
macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le
message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je
fais
la
somme des valeurs de la colonne B si et seulement si la colonne A
donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige
par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe
Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis
obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray =
"=Sum(A1:C3)"
--
--
@+
;o)))
Je pense avoir trouvé le problème : ma formule dépasse les 255 caractères.
http://support.microsoft.com/kb/201354/fr
Mais je cherche toujours la solution...
Bertrouf
"bertrouf" wrote:
Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR("
_
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:
Je termine ma journée maintenant, mais je reviendrai vous poser des
questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:
Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as
un
problème, mets manuellement ta formule dans la feuille, et, dans une
macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" <bertrouf@discussions.microsoft.com> a écrit dans le
message de
news: 17BA279E-A619-403A-8DB0-68A89DD46999@microsoft.com...
Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je
fais
la
somme des valeurs de la colonne B si et seulement si la colonne A
donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige
par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:
J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe
Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:
Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :
Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis
obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray =
"=Sum(A1:C3)"
--
--
@+
;o)))
Je pense avoir trouvé le problème : ma formule dépasse les 255 caractères.
http://support.microsoft.com/kb/201354/fr
Mais je cherche toujours la solution...
Bertrouf
"bertrouf" wrote:Rebonjour,
Comme prévu, je reviens compléter mes questions :
J'ai la formule suivante qui boucle dans ma macro.
Range("C2").Formula = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR(" _
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
Ensuite, je valide par Ctrl+Maj+Entrée, j'ai le bon résultat.
Je tente de valider le calcul matriciel pour simplifier :
Range("C2").FormulaArray = "=SUM(IF((ISNUMBER(" & CHAINE_A & ")),((YEAR("
_
& CHAINE_A & ")=" & Num_Annee & "))*((" & CHAINE_B & "))))"
J'ai un message d'erreur :
"Impossible de définir la proriété FormulaArray de la classe Range."
Ca parle à quelqu'un ?
Je fourni la macro complète si nécessaire.
Merci,
Bertrouf
"bertrouf" wrote:Je termine ma journée maintenant, mais je reviendrai vous poser des
questions
parce que ça ne fonctionne qu'un coup sur trois.
J'essaye de comprendre dans quel cas ça marche, ce serai un bon début.
@Daniel.C et MichDenis : merci pour l'astuce, c'est bien de l'anglais.
"Daniel.C" wrote:Bonjour.
Avec "FormulaArray", tu dois mettre la formule en anglais. Si tu as
un
problème, mets manuellement ta formule dans la feuille, et, dans une
macro,
mets :
Var = Selection.FormulaArray
Tu obtiens la traduction.
Cordialement.
Daniel
"bertrouf" a écrit dans le
message de
news:Je vais peut-être mettre la formule, ça va aider ;-)
Pour chaque fichier du Dossier cible, je rajoute une ligne, puis je
fais
la
somme des valeurs de la colonne B si et seulement si la colonne A
donne
l'année 2005.
J'ai testé ma formule, elle semble bonne, mais quand je la rédige
par
macro
ca plante.
Bertrouf
-------------
nf = Dir(DOSSIER_CIBLE & "*.xls")
i = 2
Do While nf <> ""
Cells(i, 1) = nf
CHAINE_A = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$A$11:$A$25"
CHAINE_B = "'[" & nf & "]" & FEUILLE_CIBLE & "'!$B$11:$B$25"
Range("C" & i).FormulaArray = "=SOMME(SI((ESTNUM(" _
& CHAINE_A & "));(ANNEE(" & CHAINE_A & ") 05)*(" _
& CHAINE_B & ")))"
i = i + 1
nf = Dir
Loop
------------------
"bertrouf" wrote:J'ai un message d'erreur sur la ligne :
"Impossible de définir la propriété FormulaArray de la classe
Range."
Un coup de pouce supplémentaire svp ?
Bertrouf
"Modeste" wrote:Bonsour® bertrouf avec ferveur ;o))) vous nous disiez :Je voudrais connaitre la syntaxe pour faire une validation
matricielle dans une macro.
Une fois ma formule écrite dans la case par la macro, je suis
obligé
de revenir sur chaque ligne et de faire un Ctrl+Maj+Entrée.
exemple :
Worksheets("feuil1").Range("E1:E3").FormulaArray =
"=Sum(A1:C3)"
--
--
@+
;o)))