Macro tableau

Résolu/Fermé
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014 - 8 déc. 2014 à 16:56
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014 - 10 déc. 2014 à 14:33
Bonjour,

J'aimerai avoir un peu d'aide à propos d'une certaine macro que je suis entrain de mettre en place.

Mon dossier comporte des onglets par Semaine (S40, S41...)
J'ai créé une macro qui me permet suivant le mois choisis de regrouper toutes mes données par semaine sur une feuille.

J'aimerai maintenant créer un tableau qui récapitule le nombre de commande par semaine :
S41 S42 S43 S44
nbre de commande
nbre de reports

je souhaiterai que les "SXX" se mettent automatiquement suivant le mois choisi

J'espère avoir été à peu près claire...

Merci d'avance pour votre aide
A voir également:

3 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
9 déc. 2014 à 14:51
Bonjour

Je ne vois pas dans ta feuille ce que j'aimerai avoir où est choisi le mois

La formule pour trouver S41 serait :
=INDEX('menus déroulants'!$I:$I;EQUIV("Octobre";'menus déroulants'!$H:$H;0))

Si octobre est choisi dans une cellule remplacer "Octobre" dans la formule par l'adresse de la cellule

La formule pour trouver S42 serait :
=INDEX('menus déroulants'!$I:$I;EQUIV("Octobre";'menus déroulants'!$H:$H;0)+1) (on décale d'une ligne)

etc

Attention ton tableau comporte 4 semaines mais certains mois en comportent 5

En ce qui concerne NB.SI.ENS en macro c'est COUNTIFS qu'il faut appliquer ainsi :

a = Application.WorksheetFunction.CountIfs(Sheets("Recap octobre").Range("A:A"), ActiveSheet.Range("L3"), Sheets("Recap octobre").Range("U:U"), "")

cet exemple denombre les items ayant colonne A de la feuille Recap octobre la valeur en L3 de la feuille active (surlaquelle on est) et pour lesquels en colonne U de la feuille Recap octobre il n'y a rien

A adapter à tes besoins

Cdlmnt
1
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014
9 déc. 2014 à 15:14
Merci pour ta réponse, je vais me pencher là dessus.
Je te tiendrais au courant.
0
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014
Modifié par Mathyi le 9/12/2014 à 15:32
Merci pour cette aide, ça me permet de mieux comprendre comment remplir le tableau.

Seulement, j'ai toujours le problème pour indiquer par macro les en-têtes de mon tableau (les SXX correspondant)

J'ai bien trouvé la formule excel mais je n'arrive pas encore à trouver l' équivalent en macro :
Dans la celule C2 de la feuille Analyse: RECHERCHEV(A1;'menus déroulants'!H2:I9;2;FAUX)
Ensuite je vais garder l'idée de mettre +1 pour les celules qui suivent

Pourrais tu m'aider ?
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734 > Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014
Modifié par via55 le 9/12/2014 à 15:55
Si la macro est lancée depuis la feuille analyse :
ActiveSheet.Range("C2") = Application.WorksheetFunction.VLookup(ActiveSheet.Range("A1"), Sheets("menus déroulants").Range("H2:I9"), 2, 0)

Sinon remplacer les deux Activesheet par Sheets("Analyse")

En VBA le nom des fonctions est en anglais RECHERCHEV=VLOOKUP etc
Pour trouver les correspondances : https://www.commentcamarche.net/applis-sites/bureautique/1561-fonctions-excel-francais-anglais/

Cdlmnt
0
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014 > via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024
9 déc. 2014 à 16:22
Merci beaucoup, tout est clair, ce lien va mettre beaucoup utile !

Bonne fin de journée
0
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014
10 déc. 2014 à 11:29
Bonjour,

Voilà ce que j'ai mis pour adapté à mon classeur
ActiveSheet.Range("C3")= Application.WorksheetFunction.CountIfs(Sheets("Recap " & mois).Range("A:A"), ActiveSheet.Range("C2"), Sheets("Recap " & mois).Range("K:K"), "")

Puisque mois renvoie au mois sélectionné dans la feuille menu déroulant, mais ça ne me comptabilise rien j'ai toujours 0...

Aurais tu une solution ?
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
8 déc. 2014 à 17:54
Bonjour

Post un exemple allégé (8 semaines et 2 mois suffiront) et anonymé de ton fichier avec la macro existante sur cjoint.com et reviens ici indiquer le lien fourni

Cdlmnt
0
Mathyi Messages postés 7 Date d'inscription lundi 8 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014
9 déc. 2014 à 09:54
Voilà le lien pour comprendre un peu mieux mon fichier, j'espère que ce sera plus facile !

https://www.cjoint.com/?3Ljkbabcp8E
0