Macro tableau
Résolu
Mathyi
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Mathyi Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Mathyi Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Macro tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
3 réponses
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
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
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
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
Voilà le lien pour comprendre un peu mieux mon fichier, j'espère que ce sera plus facile !
https://www.cjoint.com/?3Ljkbabcp8E
https://www.cjoint.com/?3Ljkbabcp8E
Je te tiendrais au courant.
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 ?
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
Bonne fin de journée
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 ?