Excel 2007 Etirer formule sur ligne et col

Résolu/Fermé
VG13 Messages postés 20 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 20 mai 2011 - 21 mars 2011 à 09:49
 saintsylar - 15 mars 2017 à 11:32
Bonjour à tous,

J'ai une formule en B5 et j'aimerais l'étirer sur toutes les lignes et les colonnes de mon tableau à partir de B5.
Voici le code formule compris dans ma macro :

Range("B5").Select
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((Feuil1!R1C1:R2499C1=RC1)*(Feuil1!R1C 3:R2499C3=R1C)*(NOT(ISERROR(FIND(Feuil1!R1C4:R2499 C4,R4C)))))"

C'est une macro qui créera un nouveau tableau sur une nouvelle feuille. Le nombre de ligne et de colonne seront changeant mais la formule se situera toujours en B5.

Quelqu'un a une idée ?

Merci

A voir également:

5 réponses

Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
21 mars 2011 à 14:36
Bonjour,
Les 2 lignes de codes étire la formule jusqu'à la colonne [L] et la ligne [15], adapter les plages selon vos valeurs :
Range("B5").AutoFill Destination:=Range("B5:L5"), Type:=xlFillDefault    
Range("B5:L5").AutoFill Destination:=Range("B5:L15"), Type:=xlFillDefault
0
VG13 Messages postés 20 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 20 mai 2011
21 mars 2011 à 15:15
Bonjour Le Pingou,

Merci pour ta réponse, mais le problème est que je voudrais le faire sans connaitre le nombre de colonne et de ligne. Vu que je n'aurais pas les mêmes tableau le nombre (colonne, ligne) est aléatoire.

Comment étirer jusqu'a la derniere colonne et la dernière ligne du tableau ?

Cdt
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 21/03/2011 à 21:22
Bonjour,
Vous devez récupérer les numéros de colonne et ligne de vos données.
Vous intégrez les lignes suivantes dans votre code :
' *** la dernière colonne pleine ; admis la ligne [1]
deco = Cells(1, Rows(1).Cells.Count).End(xlToLeft).Column
' ***Idem pour la dernière ligne pleine ; admis la colonne [A]
deli = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row 
Range("B5").Select 
ActiveCell.FormulaR1C1 = "=SUMPRODUCT((Feuil1!R1C1:R2499C1=RC1)*(Feuil1!R1C3:R2499C3=R1C)*(NOT(ISERROR(FIND(Feuil1!R1C4:R2499C4,R4C)))))" 
Range("B5").AutoFill Destination:=Range(Cells(5, 2), Cells(5, deco)), Type:=xlFillDefault 
Range(Cells(5, 2), Cells(5, deco)).AutoFill Destination:=Range(Cells(5, 2), Cells(deli, deco)), Type:=xlFillDefault


Note: j'admets que votre formule en [B5] est correcte.



Salutations.
Le Pingou
0
VG13 Messages postés 20 Date d'inscription mardi 15 mars 2011 Statut Membre Dernière intervention 20 mai 2011
22 mars 2011 à 08:59
Bonjour à tous,

Cela marche nikel, bravo Le Pingou

Merci encore à tous pour votre aide précieuse,

Bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hello,

J'ai trouvé cette discussion qui m'interesse et je voudrais savoir comment etirer une matrice de formule en ligne et colonne sur une distance donné via une boite de dialogue?

Cdlt, Saintsylar
0