Macro qui adapte une formule automatiquement
Résolu
Ljonnier
Messages postés
33
Statut
Membre
-
Ljonnier Messages postés 33 Statut Membre -
Ljonnier Messages postés 33 Statut Membre -
Bonjour,
Je viens solliciter votre aide, dans un fichier excel j'ai beaucoup de donnees concernant un portefeuille, chaque jours je recois un nouveau fichier de data qui viens se coller dans mon fichier principal a l'aide d'une macro, j'ai donc des tableaux de donnees qui arrivent tous les jours et qui varient en taille.
Une de mes formules fait references a ces tableaux, comment puis je faire (par l'intermediaire d'une macro) etendre cette formule pour quelle corresponde automatiquement au bon nombre de lignes ?
ma formule : =SUMPRODUCT('PERFORMANCE EURO'!$AF$1:$DKE$1,'PERFORMANCE EURO'!AF22:DKE22)/'PERFORMANCE EURO'!$AE$1"
Vous l'aurez compris le DKE22 peux tres bien varier et se transformer en DKE450 ou plus.
Je precise ma formule fait reference a un onglet du meme fichier excel, celui ou les fameux tableaux arrivent.
D'avance, un grand merci
Je viens solliciter votre aide, dans un fichier excel j'ai beaucoup de donnees concernant un portefeuille, chaque jours je recois un nouveau fichier de data qui viens se coller dans mon fichier principal a l'aide d'une macro, j'ai donc des tableaux de donnees qui arrivent tous les jours et qui varient en taille.
Une de mes formules fait references a ces tableaux, comment puis je faire (par l'intermediaire d'une macro) etendre cette formule pour quelle corresponde automatiquement au bon nombre de lignes ?
ma formule : =SUMPRODUCT('PERFORMANCE EURO'!$AF$1:$DKE$1,'PERFORMANCE EURO'!AF22:DKE22)/'PERFORMANCE EURO'!$AE$1"
Vous l'aurez compris le DKE22 peux tres bien varier et se transformer en DKE450 ou plus.
Je precise ma formule fait reference a un onglet du meme fichier excel, celui ou les fameux tableaux arrivent.
D'avance, un grand merci
A voir également:
- Macro qui adapte une formule automatiquement
- Formule si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
2 réponses
Bonjour,
=SUMPRODUCT('PERFORMANCE EURO'!$AF$1:$DKE$1,'PERFORMANCE EURO'!AF22:DKE22)/'PERFORMANCE EURO'!$AE$1"
Essaye
=SUMPRODUCT(DECALER('PERFORMANCE EURO'!$AF$1;0;0;1;EQUIV(9^9^9;1:1;1)-COLONNE('PERFORMANCE EURO'!$AF$1)+1),DECALER('PERFORMANCE EURO'!$AF$22;0;0;1;EQUIV(9^9^9;1:1;1)-COLONNE('PERFORMANCE EURO'!$AF$22)+1)/'PERFORMANCE EURO'!$AE$1"
Tu peux remplacer -COLONNE('PERFORMANCE EURO'!$AF$1)+1) par sa valeur (que je n'ai pas calculée)
Crdmt
=SUMPRODUCT('PERFORMANCE EURO'!$AF$1:$DKE$1,'PERFORMANCE EURO'!AF22:DKE22)/'PERFORMANCE EURO'!$AE$1"
Essaye
=SUMPRODUCT(DECALER('PERFORMANCE EURO'!$AF$1;0;0;1;EQUIV(9^9^9;1:1;1)-COLONNE('PERFORMANCE EURO'!$AF$1)+1),DECALER('PERFORMANCE EURO'!$AF$22;0;0;1;EQUIV(9^9^9;1:1;1)-COLONNE('PERFORMANCE EURO'!$AF$22)+1)/'PERFORMANCE EURO'!$AE$1"
Tu peux remplacer -COLONNE('PERFORMANCE EURO'!$AF$1)+1) par sa valeur (que je n'ai pas calculée)
Crdmt
Bonjour,
Si toutes les cellules de la plage AF1:AFx sont remplies, tu peux effectuer le comptage des lignes afin de décaler la plage au fur et à mesure du remplissage.
Pour simplifier la formule, tu crées 3 plages nommées :
Résultat :
et si tu veux absolument une macro (avec le résultat dans la cellule A2 de la feuille active :
A+
Si toutes les cellules de la plage AF1:AFx sont remplies, tu peux effectuer le comptage des lignes afin de décaler la plage au fur et à mesure du remplissage.
Pour simplifier la formule, tu crées 3 plages nommées :
Plage1 : ='PERFORMANCE EURO'!$AF$1:$DK$1
Plage2 : =OFFSET('PERFORMANCE EURO'!AF1:DK1,COUNTA('PERFORMANCE EURO'!$AF:$AF)-1,0)
Plage3 : ='PERFORMANCE EURO'!$AE$1
Résultat :
=SUMPRODUCT(Plage1,Plage2)/Plage3
et si tu veux absolument une macro (avec le résultat dans la cellule A2 de la feuille active :
Sub Test()
With Worksheets("PERFORMANCE EURO")
ActiveSheet.Range("A2") = Application.SumProduct(.Range("$AF$1").Resize(, 84), .Range("$AF$1").End(xlDown).Resize(, 84)) / .Range("$AE$1")
End With
End Sub
A+
Par contre je recherche plutot une macro, un code VBA qui m'automatiserais tout ca j'ai vu qu'il etait question de xlDown mais j'ai beaucoup de mal a mettre tout ca en forme.