Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 04/07/2003, 10h25   #1 (permalink)
Phil
Guest
 
Messages: n/a
Par défaut sommeprod

Bonjour les forumistes,

encore une petite question sur la somme prod.

Je voudrais savoir comment fait -on et si c'est possible pour définir automatiquement la dernière cellule à vérifier.

=sommeprod((Mois('Feuil1'!A2:A65500)=Mois('Feuil2' !c2))*('Feuil1'!C2:C65500='Feuil2'!A3))

je voudrais qu'à la place du A65500 et du C65500, une formule qui me détecte systématiquement la dernière cellule, car je ne sais pas à l'avance combien j'aurais de données à calculer. Là avec cette formule ça marche, mais ça rame terrible et en plus je dois le faire sur plusieurs feuilles, donc mon pc ne va pas supporter.

merci par avance pour vos solutions et conseils.

@+
Phil
 
ANNONCES
Vieux 04/07/2003, 13h30   #2 (permalink)
Jean-Marie
Guest
 
Messages: n/a
Par défaut Re: sommeprod

Bonjour, Phil

Dans ton cas, il serait préférable d'utiliser une fonction VBA

@+Jean-Marie
 
Vieux 04/07/2003, 13h46   #3 (permalink)
Phil
Guest
 
Messages: n/a
Par défaut Re: sommeprod

Bonjour jean marie,

merci pour l'info, mais quelle est cette fonction Vba,

est -elle compliquée à faire???

@+

phil
 
Vieux 05/07/2003, 03h03   #4 (permalink)
ZON
Guest
 
Messages: n/a
Par défaut Re: sommeprod

Bonsoir à tous,


En VBA tu peux faire comme suit :

dim L as long
L=sheest(1).[A65536].end(xlup).row ''''''on recupére le N° de la derniere cellule utilisée de la feuille 1 de la colonne A

Pour écrire dans la cellule A1 la formule en dur voici 2 exemples ,

[A1]="=sumproduct((month(Feuil1!A2:A" &L& ")=month(Feuil2!C2))*(Feuil1!C2:C" & L& "=Feuil2!A3))"
'''ou
[A1].formulalocal="=sommeprod((mois(Feuil1!A2:A" &L& ")=mois(Feuil2!C2))*(Feuil1!C2:C" & L& "=Feuil2!A3))"

Bien évidemment grace au VBA on peut faire des boucles pour écrire les formules en dur sur une plage de cellules

ou juste mettre le résultat de la formule avec evaluate qui a l'avantage d'éviter des calculs à ralonge à excel dés qu'on change la valeur d'une cellule.

[A1]=evaluate("=sumproduct((month(Feuil1!A2:A" &L& ")=month(Feuil2!C2))*(Feuil1!C2:C" & L& "=Feuil2!A3))")


A+++
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 11h10.


(C) 2006 Excel Downloads