VBA : fonction sumif
Fermé
Utilisateur anonyme
-
Modifié par elsielaure le 9/12/2010 à 11:00
Utilisateur anonyme - 12 déc. 2010 à 17:01
Utilisateur anonyme - 12 déc. 2010 à 17:01
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
9 déc. 2010 à 11:34
9 déc. 2010 à 11:34
Bonjour
petite démo:
maquette:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij7zOnUwA.xls
petite démo:
Sub somme_2conditions() Sheets(3).Range("C3") = Evaluate("sumproduct((Feuil1!A2:A30=Feuil2!B2)*(Feuil1!B2:B30=Feuil2!C2)*(Feuil1!C2:C30))") End Sub
maquette:
http://www.cijoint.fr/cjlink.php?file=cj201012/cij7zOnUwA.xls
Utilisateur anonyme
Modifié par elsielaure le 10/12/2010 à 09:49
Modifié par elsielaure le 10/12/2010 à 09:49
Bonsoir Michel_m
J'ai essayé sans succès du coup je reviens vous demander de l'aide.
Pourriez vous s'il vous plaît modifier votre code afin qu'il puisse fonctionner dans une boucle
Comme dans l'exemple http://www.cijoint.fr/cjlink.php?file=cj201012/cijuTlI2M2.xls
Les deux conditions varieraient en fonction des intitulés colonnes et lignes du tableau feuille 3
Merci d'avance
Laure
J'ai essayé sans succès du coup je reviens vous demander de l'aide.
Pourriez vous s'il vous plaît modifier votre code afin qu'il puisse fonctionner dans une boucle
Comme dans l'exemple http://www.cijoint.fr/cjlink.php?file=cj201012/cijuTlI2M2.xls
Les deux conditions varieraient en fonction des intitulés colonnes et lignes du tableau feuille 3
Merci d'avance
Laure
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
10 déc. 2010 à 08:54
10 déc. 2010 à 08:54
bonjour,
proposition j'espère dans la journée. J'étudie une autre méthode que "evaluate" car cela impliquerait une syntaxe diabolique de l'instruction !!!
proposition j'espère dans la journée. J'étudie une autre méthode que "evaluate" car cela impliquerait une syntaxe diabolique de l'instruction !!!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
10 déc. 2010 à 11:47
10 déc. 2010 à 11:47
et voilà
fait sur tes données (+ réaliste); certaines ont été modifiées pour tester mes bidouillages
sans nom d'onglets j'ai mis sheets(1) et sheets(2) à toi voir si tu dois modifier
http://www.cijoint.fr/cjlink.php?file=cj201012/cij4Is8zdw.xls
fait sur tes données (+ réaliste); certaines ont été modifiées pour tester mes bidouillages
sans nom d'onglets j'ai mis sheets(1) et sheets(2) à toi voir si tu dois modifier
http://www.cijoint.fr/cjlink.php?file=cj201012/cij4Is8zdw.xls
Utilisateur anonyme
10 déc. 2010 à 17:14
10 déc. 2010 à 17:14
Bonsoir
Sans vouloir abuser.
Pourriez-vous s'il vous plaît jeter un coup d'oeil sur l'exemple ci joint
http://www.cijoint.fr/cjlink.php?file=cj201012/cijvuZHw6C.xls
Je ne sais pas pourquoi mais j'obtiens un tableau décalé d'une colonne et d'une ligne alors que je n'ai pas modifié votre code.
Aussi si possible je voudrai que soient classé dans ce tableau les chiffres par ordre décroissant les sommes. Afin que je puisse avoir les 10 plus gros secteurs s'affichant dans les 10 premières lignes du tableau en fait.
Merci d'avance
Laure
Sans vouloir abuser.
Pourriez-vous s'il vous plaît jeter un coup d'oeil sur l'exemple ci joint
http://www.cijoint.fr/cjlink.php?file=cj201012/cijvuZHw6C.xls
Je ne sais pas pourquoi mais j'obtiens un tableau décalé d'une colonne et d'une ligne alors que je n'ai pas modifié votre code.
Aussi si possible je voudrai que soient classé dans ce tableau les chiffres par ordre décroissant les sommes. Afin que je puisse avoir les 10 plus gros secteurs s'affichant dans les 10 premières lignes du tableau en fait.
Merci d'avance
Laure
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
10 déc. 2010 à 18:47
10 déc. 2010 à 18:47
Il n' y a rien dans la feuille "calcul" !!! :-((
au départ, c'était juste établir en VBA une somme à 2 conditions:
j'aimerai faire une somme suivant deux conditions.
ensuite une matrice de 14 colonnes par 30 lignes
et maintenant:...
que soient classé dans ce tableau les chiffres par ordre décroissant les sommes Afin que je puisse avoir les 10 plus gros secteurs s'affichant dans les 10 premières lignes du tableau en fait.
Il y a 14 colonnes....
Après, tu voudrais que ..?
au départ, c'était juste établir en VBA une somme à 2 conditions:
j'aimerai faire une somme suivant deux conditions.
ensuite une matrice de 14 colonnes par 30 lignes
et maintenant:...
que soient classé dans ce tableau les chiffres par ordre décroissant les sommes Afin que je puisse avoir les 10 plus gros secteurs s'affichant dans les 10 premières lignes du tableau en fait.
Il y a 14 colonnes....
Après, tu voudrais que ..?
Utilisateur anonyme
10 déc. 2010 à 22:56
10 déc. 2010 à 22:56
Bonsoir
La feuille Calcul se rempli via la macro données.
Oui je voulais faire une somme suivant deux conditions.
Mais au départ je pensais que mon code (celui de ma question) était adaptable et que j'aurais donc pu le mettre dans une boucle (comme je l'ai fait pour une condition) et qu'ensuite j'aurai classé les résultats.
Je sais que j'abuse là ... mais je n'arrive pas à modifier votre code.
Je débute en VBA et je n'aurais moi pas pu écrire tout ça ...
Merci pour votre aide.
Laure
La feuille Calcul se rempli via la macro données.
Oui je voulais faire une somme suivant deux conditions.
Mais au départ je pensais que mon code (celui de ma question) était adaptable et que j'aurais donc pu le mettre dans une boucle (comme je l'ai fait pour une condition) et qu'ensuite j'aurai classé les résultats.
Je sais que j'abuse là ... mais je n'arrive pas à modifier votre code.
Je débute en VBA et je n'aurais moi pas pu écrire tout ça ...
Merci pour votre aide.
Laure
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
Modifié par michel_m le 12/12/2010 à 08:21
Modifié par michel_m le 12/12/2010 à 08:21
bonjour,
Je n'ai vu AUCUNE DONNEE dans le classeur que tu m''as transmis... que ce soit dans TCD3 et CALCUL !!!
de m^me aucun renseignement sur un décalage (où, quelle ligne et/ou colonne) et sur le tri que je t'avais déjà demandé et resté sans réponse
mais à moi de me demer... avec rien !!!
De toutes façons la solution ne passe certainement pas par de sumif ni des sumproduct comme tu m'as embarqué mais par des TCD comme sont baptisés des onglets...
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup ) il faut en plus que....
Désolé, suivi abandonné
Je n'ai vu AUCUNE DONNEE dans le classeur que tu m''as transmis... que ce soit dans TCD3 et CALCUL !!!
de m^me aucun renseignement sur un décalage (où, quelle ligne et/ou colonne) et sur le tri que je t'avais déjà demandé et resté sans réponse
mais à moi de me demer... avec rien !!!
De toutes façons la solution ne passe certainement pas par de sumif ni des sumproduct comme tu m'as embarqué mais par des TCD comme sont baptisés des onglets...
Il faut bien te rendre compte que ce que tu demandes n'est pas forcément facile et que personne ne veut passer parfois plusieurs heures à essayer de résoudre un problème bénévolement pour se voir dire après coup ) il faut en plus que....
Désolé, suivi abandonné
9 déc. 2010 à 11:41
9 déc. 2010 à 14:29
Merci pour votre aide, c'est exactement ce que je cherche à faire.
Mais je ne sais pas pourquoi dans mon fichier ça ne marche pas
En voici un extrait, je voudrai garder l'expression de la dernier ligne (derlig), mais là pour le test j'ai mis 478
http://www.cijoint.fr/cjlink.php?file=cj201012/cijSpnltF3.xls
Laure
9 déc. 2010 à 15:03
Dans ta colonne A tu as des #NA à supprimer ! :-)
9 déc. 2010 à 15:13
Merci Beaucoup !!!