Macro tableau

Résolu
Mathyi Messages postés 7 Statut Membre -  
Mathyi Messages postés 7 Statut Membre -
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

3 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. Mathyi Messages postés 7 Statut Membre
       
      Merci pour ta réponse, je vais me pencher là dessus.
      Je te tiendrais au courant.
      0
    2. Mathyi Messages postés 7 Statut Membre
       
      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
    3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > Mathyi Messages postés 7 Statut Membre
       
      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
    4. Mathyi Messages postés 7 Statut Membre > via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci beaucoup, tout est clair, ce lien va mettre beaucoup utile !

      Bonne fin de journée
      0
    5. Mathyi Messages postés 7 Statut Membre
       
      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
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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