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
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
A voir également:
- Macro tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
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
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
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
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
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
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
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
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
https://www.cjoint.com/?3Ljkbabcp8E
9 déc. 2014 à 15:14
Je te tiendrais au courant.
Modifié par Mathyi le 9/12/2014 à 15:32
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 ?
Modifié par via55 le 9/12/2014 à 15:55
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
9 déc. 2014 à 16:22
Bonne fin de journée
10 déc. 2014 à 11:29
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 ?