Bonjour,
J'ai perdu mon message alors je le refais
J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles
qui m'ont été données, mais je pense que ce n'est pas juste car dans range,
il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi
sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il
trouve à gauche de la ligne 4 à 242
Cordialement
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 21/10/2006 par Véronique
'
'
Range("E4").Select
Selection.FormulaArray =
"=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
Selection.Font.ColorIndex = 9
Selection.Interior.ColorIndex = 40
Range("E5").Select
Selection.FormulaArray =
"=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))"
Selection.Interior.ColorIndex = 40
End Sub
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
lSteph
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
Hello Biancav,
:-?
Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242")
.FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
'@+
'lSteph
BIANCAV a exprimé avec précision :
Bonjour,
J'ai perdu mon message alors je le refais
J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui
m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne
m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur
cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à
gauche de la ligne 4 à 242
Cordialement
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 21/10/2006 par Véronique
'
'
Range("E4").Select
Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
Selection.Font.ColorIndex = 9
Selection.Interior.ColorIndex = 40
Range("E5").Select
Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))"
Selection.Interior.ColorIndex = 40
End Sub
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray > "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
BIANCAV
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
Bonjour,
Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans
cette colonne j'ai les deux formules matricielles car en D il peut avoir 60,
601 ou 61, 612... et les deux formules matricielles permettent de faire la
somme en E de toutes les lignes qui commencent par 60, la somme de ttes
celles qui commence par 61, 62... face à chacun de ces chiffres en E et de
ttes les lignes qui commencent par 601; 602 ... face à chacun de ces
chiffres en E
Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la
seconde.
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!)
Cordialement
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
mn.ac777d6a35fc19a2.62733@frite.fr...
Hello Biancav,
:-?
Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242")
.FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
'@+
'lSteph
BIANCAV a exprimé avec précision :
Bonjour,
J'ai perdu mon message alors je le refais
J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles
qui m'ont été données, mais je pense que ce n'est pas juste car dans
range, il ne m'a mis que la cellule sélectionné pour chaque fonction et
en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre
selon ce qu'il trouve à gauche de la ligne 4 à 242
Cordialement
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 21/10/2006 par Véronique
'
'
Range("E4").Select
Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
Selection.Font.ColorIndex = 9
Selection.Interior.ColorIndex = 40
Range("E5").Select
Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))"
Selection.Interior.ColorIndex = 40
End Sub
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
lSteph
Ah! ceci sent la nomenclature comptable... je n'ai pas tout en main cpte est bien défini au début ? nouvelle suggestion:
with Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
.. sinon tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!! c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du fil
@+ lSteph
BIANCAV avait énoncé :
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
-- - -
Ah!
ceci sent la nomenclature comptable...
je n'ai pas tout en main cpte est bien défini au début ?
nouvelle suggestion:
with Range("E4:E242")
.FormulaArray =
"=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
..
sinon
tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!
c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du
fil
@+
lSteph
BIANCAV avait énoncé :
Bonjour,
Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans
cette colonne j'ai les deux formules matricielles car en D il peut avoir 60,
601 ou 61, 612... et les deux formules matricielles permettent de faire la
somme en E de toutes les lignes qui commencent par 60, la somme de ttes
celles qui commence par 61, 62... face à chacun de ces chiffres en E et de
ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres
en E
Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la
seconde.
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!)
Cordialement
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
mn.ac777d6a35fc19a2.62733@frite.fr...
Hello Biancav,
:-?
Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242")
.FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
'@+
'lSteph
BIANCAV a exprimé avec précision :
Bonjour,
J'ai perdu mon message alors je le refais
J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles
qui m'ont été données, mais je pense que ce n'est pas juste car dans
range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en
fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon
ce qu'il trouve à gauche de la ligne 4 à 242
Cordialement
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 21/10/2006 par Véronique
'
'
Range("E4").Select
Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
Selection.Font.ColorIndex = 9
Selection.Interior.ColorIndex = 40
Range("E5").Select
Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))"
Selection.Interior.ColorIndex = 40
End Sub
Ah! ceci sent la nomenclature comptable... je n'ai pas tout en main cpte est bien défini au début ? nouvelle suggestion:
with Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
.. sinon tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!! c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du fil
@+ lSteph
BIANCAV avait énoncé :
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
-- - -
BIANCAV
Bonjour, c'est de la nomenclature comptable, cpte est bien défini au début et oui par formule qui m'a été donnée par JB, c'est réglé. J'avais un peu de temps, je me disais s'ils font tous des macros c'est qu'il y a un intérêt, alors j'essayais avec celle-ci en suivant pas à pas les docs trouvées grâce à vous tous sur http://dj.joss.free.fr. Pour une fois que j'avais pas le feu sur le gaz !!! Je vais qd même essayer ce que tu as écrit. Bonne journée Cordialement "lSteph" a écrit dans le message de news:
Ah! ceci sent la nomenclature comptable... je n'ai pas tout en main cpte est bien défini au début ? nouvelle suggestion:
with Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
.. sinon tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!! c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du fil
@+ lSteph
BIANCAV avait énoncé :
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub
-- - -
-- - -
Bonjour, c'est de la nomenclature comptable, cpte est bien défini au début
et oui par formule qui m'a été donnée par JB, c'est réglé.
J'avais un peu de temps, je me disais s'ils font tous des macros c'est qu'il
y a un intérêt, alors j'essayais avec celle-ci en suivant pas à pas les docs
trouvées grâce à vous tous sur http://dj.joss.free.fr. Pour une fois que
j'avais pas le feu sur le gaz !!!
Je vais qd même essayer ce que tu as écrit.
Bonne journée
Cordialement
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
mn.ad5d7d6a45edac0e.62733@frite.fr...
Ah!
ceci sent la nomenclature comptable...
je n'ai pas tout en main cpte est bien défini au début ?
nouvelle suggestion:
with Range("E4:E242")
.FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
..
sinon
tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!
c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du
fil
@+
lSteph
BIANCAV avait énoncé :
Bonjour,
Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais
dans cette colonne j'ai les deux formules matricielles car en D il peut
avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent
de faire la somme en E de toutes les lignes qui commencent par 60, la
somme de ttes celles qui commence par 61, 62... face à chacun de ces
chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face
à chacun de ces chiffres en E
Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la
seconde.
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!)
Cordialement
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
mn.ac777d6a35fc19a2.62733@frite.fr...
Hello Biancav,
:-?
Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242")
.FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
.Font.ColorIndex = 9
'.....
End with
'@+
'lSteph
BIANCAV a exprimé avec précision :
Bonjour,
J'ai perdu mon message alors je le refais
J'ai tenté d'appliquer avec l'enregistreur les deux formules
matricielles qui m'ont été données, mais je pense que ce n'est pas
juste car dans range, il ne m'a mis que la cellule sélectionné pour
chaque fonction et en fait moi sur cette colonne je veux qu'il applique
l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242
Cordialement
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 21/10/2006 par Véronique
'
'
Range("E4").Select
Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))"
Selection.Font.ColorIndex = 9
Selection.Interior.ColorIndex = 40
Range("E5").Select
Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))"
Selection.Interior.ColorIndex = 40
End Sub
Bonjour, c'est de la nomenclature comptable, cpte est bien défini au début et oui par formule qui m'a été donnée par JB, c'est réglé. J'avais un peu de temps, je me disais s'ils font tous des macros c'est qu'il y a un intérêt, alors j'essayais avec celle-ci en suivant pas à pas les docs trouvées grâce à vous tous sur http://dj.joss.free.fr. Pour une fois que j'avais pas le feu sur le gaz !!! Je vais qd même essayer ce que tu as écrit. Bonne journée Cordialement "lSteph" a écrit dans le message de news:
Ah! ceci sent la nomenclature comptable... je n'ai pas tout en main cpte est bien défini au début ? nouvelle suggestion:
with Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,len(Cpte)))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
.. sinon tu dis à l'avance ce que je commence à penser,
Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!! c'est probablement possible à règler par formule.
mais l'essentiel de l'objectif m'échappe, je n'ai pas suivi le début du fil
@+ lSteph
BIANCAV avait énoncé :
Bonjour, Presque ça. Ca ca marche pas car il l'applique sur tt ma colonne mais dans cette colonne j'ai les deux formules matricielles car en D il peut avoir 60, 601 ou 61, 612... et les deux formules matricielles permettent de faire la somme en E de toutes les lignes qui commencent par 60, la somme de ttes celles qui commence par 61, 62... face à chacun de ces chiffres en E et de ttes les lignes qui commencent par 601; 602 ... face à chacun de ces chiffres en E Alors si je fais range sur la première jusqu'à 242, il n'éxécute plus la seconde. Suis-je plus claire (j'aurais paut-être pas du essayer la macro !!!) Cordialement "lSteph" a écrit dans le message de news:
Hello Biancav, :-? Pas sûr d'y comprendre, tu veux dire:
With Range("E4:E242") .FormulaArray = "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" .Font.ColorIndex = 9 '..... End with
'@+ 'lSteph BIANCAV a exprimé avec précision :
Bonjour, J'ai perdu mon message alors je le refais J'ai tenté d'appliquer avec l'enregistreur les deux formules matricielles qui m'ont été données, mais je pense que ce n'est pas juste car dans range, il ne m'a mis que la cellule sélectionné pour chaque fonction et en fait moi sur cette colonne je veux qu'il applique l'une ou l'autre selon ce qu'il trouve à gauche de la ligne 4 à 242 Cordialement Sub Macro2() ' ' Macro2 Macro ' Macro enregistrée le 21/10/2006 par Véronique '
' Range("E4").Select Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,2))=RC[-1],Montant,0))" Selection.Font.ColorIndex = 9 Selection.Interior.ColorIndex = 40 Range("E5").Select Selection.FormulaArray >>>> "=SUM(IF(VALUE(LEFT(Cpte,3))=RC[-1],Montant,0))" Selection.Interior.ColorIndex = 40 End Sub