Macro qui adapte une formule automatiquement
Résolu/Fermé
Ljonnier
Messages postés
31
Date d'inscription
lundi 15 août 2016
Statut
Membre
Dernière intervention
23 novembre 2016
-
15 août 2016 à 11:57
Ljonnier Messages postés 31 Date d'inscription lundi 15 août 2016 Statut Membre Dernière intervention 23 novembre 2016 - 15 août 2016 à 14:02
Ljonnier Messages postés 31 Date d'inscription lundi 15 août 2016 Statut Membre Dernière intervention 23 novembre 2016 - 15 août 2016 à 14:02
A voir également:
- Macro qui adapte une formule automatiquement
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
2 réponses
DjiDji59430
Messages postés
4170
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
6 janvier 2025
682
15 août 2016 à 12:29
15 août 2016 à 12:29
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
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
Modifié par Gyrus le 15/08/2016 à 13:53
Modifié par Gyrus le 15/08/2016 à 13:53
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+
Ljonnier
Messages postés
31
Date d'inscription
lundi 15 août 2016
Statut
Membre
Dernière intervention
23 novembre 2016
15 août 2016 à 14:02
15 août 2016 à 14:02
C'est super ! Merci infiniement ;)
15 août 2016 à 12:52
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.