[Excel]Somme conditionnelle vba
Résolu/Fermé
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
-
20 août 2007 à 10:43
tyuiop - 3 mai 2008 à 10:28
tyuiop - 3 mai 2008 à 10:28
A voir également:
- [Excel]Somme conditionnelle vba
- Mise en forme conditionnelle excel - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Excel liste déroulante conditionnelle - Guide
- Excel somme si couleur - Guide
14 réponses
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 10:47
20 août 2007 à 10:47
Correspond à la fonction SOmme.Si de Excel
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 10:55
20 août 2007 à 10:55
oui SUMIF c'est le SOMME.SI de excel mais en anglais pr le langage vba.
mais apres je n'arrive pas à prendre en compte l'interval.
mais apres je n'arrive pas à prendre en compte l'interval.
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 11:22
20 août 2007 à 11:22
Voila j'arrive à faire ça mais comment intégrer l'autre date?
SUMIF(A:A,">12/01/2006",B:B)
SUMIF(A:A,">12/01/2006",B:B)
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 11:33
20 août 2007 à 11:33
Dans ton SUMiF, la date sera toujours codée en dur ?
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 11:51
20 août 2007 à 11:51
je ne sais pas trop ce que "codé en dur " veut dire...en revanche je sais que la date sera toujours prise pour une date et non une chaine de caractères
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 13:07
20 août 2007 à 13:07
Un petit coup de pouce...
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 14:04
20 août 2007 à 14:04
La date 12/01/2006 est une constante ou une variable ?
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 14:13
20 août 2007 à 14:13
pour l'instant c'est une constante pour faire les essais, mais apres ca sera une variable.
je m'explique : en fait c'est pour faire un récapitulatif d'apres des dates. Et donc on sera amené à le faire sur le mois d'aout, celui de février et ainsi de suite.
J'ai essayé auparanvant de créer une varible :
Dim date as variant
date = "12/01/2006"
mais quand dans la formule avec le SUMIF j'essaye de mettre la variable date :
SUMIF(A:A,">date",B:B)
ca marche pas. Je pense qu'il faut l'écrire autrement mais j'ai beau chercher sur le net je ne trouve pas.
Par ailleurs si à la place de ">date" je mets ">E2" (pour prendre comme condition une date dans la cellule E2) ca ne marche pas non plus...
je m'explique : en fait c'est pour faire un récapitulatif d'apres des dates. Et donc on sera amené à le faire sur le mois d'aout, celui de février et ainsi de suite.
J'ai essayé auparanvant de créer une varible :
Dim date as variant
date = "12/01/2006"
mais quand dans la formule avec le SUMIF j'essaye de mettre la variable date :
SUMIF(A:A,">date",B:B)
ca marche pas. Je pense qu'il faut l'écrire autrement mais j'ai beau chercher sur le net je ne trouve pas.
Par ailleurs si à la place de ">date" je mets ">E2" (pour prendre comme condition une date dans la cellule E2) ca ne marche pas non plus...
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 14:17
20 août 2007 à 14:17
Le critère est a priori uniqument une constante; la varaible ne parait pas possible.
Est ce que c'est une somme par mois que tu veux faire.
Dans ce cas on crée une cellule interméiaire qui serait égale au mois de la cellule à tester, puis tu fais un somme.si pour le mois concerné
Je reconnais, c'est moyen.
L'usage du tableau croisé dynamqiue ne te conviendrait pas ?
Est ce que c'est une somme par mois que tu veux faire.
Dans ce cas on crée une cellule interméiaire qui serait égale au mois de la cellule à tester, puis tu fais un somme.si pour le mois concerné
Je reconnais, c'est moyen.
L'usage du tableau croisé dynamqiue ne te conviendrait pas ?
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 14:25
20 août 2007 à 14:25
oui c'est une somme par mois que je veux faire.
le problème c'est que je dois faire ca sur une centaine de feuilles et que sur chaque feuille il n'y a pas un nombre identique de valeurs à sommer par mois, exemple :
feuille 1:
12/06/2006
20/07/2006
03/08/2006
14/08/2006
24/08/2006
05/09/2006
05/10/2006
10/10/2006
20/10/2006
10/11/2006
17/11/2006
05/12/2006
15/12/2006
02/02/2007
15/02/2007
09/03/2007
03/04/2007
19/04/2007
18/05/2007
07/06/2007
feuille 2 :
12/07/2006
04/09/2006
22/12/2006
28/12/2006
07/05/2007
16/08/2007
24/12/2007
31/12/2007
02/01/2007
Je sais déjà comment faire la boucle pour prendre en compte les feuilles.
Apres je ne sais pas ce qu'est un tableau croisé dynamqiue :S désolé je suis novice.
qu'en penses tu?
le problème c'est que je dois faire ca sur une centaine de feuilles et que sur chaque feuille il n'y a pas un nombre identique de valeurs à sommer par mois, exemple :
feuille 1:
12/06/2006
20/07/2006
03/08/2006
14/08/2006
24/08/2006
05/09/2006
05/10/2006
10/10/2006
20/10/2006
10/11/2006
17/11/2006
05/12/2006
15/12/2006
02/02/2007
15/02/2007
09/03/2007
03/04/2007
19/04/2007
18/05/2007
07/06/2007
feuille 2 :
12/07/2006
04/09/2006
22/12/2006
28/12/2006
07/05/2007
16/08/2007
24/12/2007
31/12/2007
02/01/2007
Je sais déjà comment faire la boucle pour prendre en compte les feuilles.
Apres je ne sais pas ce qu'est un tableau croisé dynamqiue :S désolé je suis novice.
qu'en penses tu?
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 14:29
20 août 2007 à 14:29
Ton développement sert juste à faire les sommes par mois ?
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 14:31
20 août 2007 à 14:31
oui et les feuilles représentent plusieurs fournisseurs.
c'est tout simple en fait
c'est tout simple en fait
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 14:34
20 août 2007 à 14:34
Quelle est ton adresse email ?
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 14:37
20 août 2007 à 14:37
bobjul7456@msn.com
spass_pa
Messages postés
17
Date d'inscription
mercredi 8 août 2007
Statut
Membre
Dernière intervention
20 août 2007
20 août 2007 à 15:33
20 août 2007 à 15:33
juste pour connaitre l'état d'avancement et savoir si ce que je voulais faire est finalement concrétisable
Claude Claude
Messages postés
1756
Date d'inscription
vendredi 17 août 2007
Statut
Membre
Dernière intervention
29 août 2009
584
20 août 2007 à 15:45
20 août 2007 à 15:45
Je t'ai fait un retour par messagerie !
Salut,
je cherche à faire la même chose: je voudrais faire la somme des "heures", par mois, pour chaque "item"
item date heures
A 01/02/07 24
A 02/02/07 24
A 03/02/07 24
A 21/02/07 24
A 22/02/07 24
A 23/02/07 19
A 24/02/07 13,67
A 25/02/07 24
B 17/05/07 24
B 18/05/07 24
B 19/05/07 24
J'ai essayé un truc du genre:
For i = 4 To row_max
Do While (Month(Cells(i, 2)) = Month(Cells(i + 1, 2)))
Cells(i, 4) = Cells(i, 3) + Cells(i - 1, 4)
i = i + 1
Loop
Next i
mais ça ne marche pas très bien car il me manque le calcul pour le dernier jour de chaque mois... Pourriez-vous me donner un coup de main?
Merci!
J.
je cherche à faire la même chose: je voudrais faire la somme des "heures", par mois, pour chaque "item"
item date heures
A 01/02/07 24
A 02/02/07 24
A 03/02/07 24
A 21/02/07 24
A 22/02/07 24
A 23/02/07 19
A 24/02/07 13,67
A 25/02/07 24
B 17/05/07 24
B 18/05/07 24
B 19/05/07 24
J'ai essayé un truc du genre:
For i = 4 To row_max
Do While (Month(Cells(i, 2)) = Month(Cells(i + 1, 2)))
Cells(i, 4) = Cells(i, 3) + Cells(i - 1, 4)
i = i + 1
Loop
Next i
mais ça ne marche pas très bien car il me manque le calcul pour le dernier jour de chaque mois... Pourriez-vous me donner un coup de main?
Merci!
J.