NB.SI + RechercheV + Liste de choix Excel 2k7
Résolu
MikeThe7
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
MikeThe7 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
MikeThe7 Messages postés 45 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Nb.si et recherchev
- Nb.si en anglais - Guide
- Recherchev texte - Forum Excel
- Recherchev contient ✓ - Forum Excel
- Recherchev ne renvoie pas la bonne valeur ✓ - Forum Excel
- RechercheV sur du texte ✓ - Forum Excel
6 réponses
Bonjour,
Un début de réponse :
1)=NB.SI(C$62:C$219;"*" & $B5 & "*")
à recopier vers la droite et vers le bas.
2) pour simplifier il faudrait qu'une semaine appartienne à 1 seul mois.
Ou bien faire l'inverse : saisir en feuille stat et remplir les mois à partir de cette feuille
3) plus de temps pour chercher mais est-ce que ça vaut le coup pour une liste de 20 items ?
Ce que je sais c'est qu'il faut appliquer la procédure pas à pas, tranquillement, sans rien sauter.
Chaque ligne, chaque mot compte.
Et si tu disais à partir d'où tu buttes ça faciliterait...
eric
Un début de réponse :
1)=NB.SI(C$62:C$219;"*" & $B5 & "*")
à recopier vers la droite et vers le bas.
2) pour simplifier il faudrait qu'une semaine appartienne à 1 seul mois.
Ou bien faire l'inverse : saisir en feuille stat et remplir les mois à partir de cette feuille
3) plus de temps pour chercher mais est-ce que ça vaut le coup pour une liste de 20 items ?
Ce que je sais c'est qu'il faut appliquer la procédure pas à pas, tranquillement, sans rien sauter.
Chaque ligne, chaque mot compte.
Et si tu disais à partir d'où tu buttes ça faciliterait...
eric
Bonjour à vous 2 et merci pour vos réponses rapides.
1°) Résolu
2°) C'est justement là mon problème, c'est qu'une semaine peut se retrouver sur un mois ET sur le suivant en reprenant les mêmes nom, ce qui faussera les Stats. C'est pour cela que j'ai pensé à faire un tableau récapitulatif sur la feuille "Stats" pour éviter cela.
Ce que je voudrais c'est la reprise des informations sur le tableau en bas de la feuille "Stats".
Si la semaine 5 par exemple est sur 2 mois, cela ne posera pas de problème vu que les informations sur cette semaine sera répertoriée qu'une seule fois dans le tableau "général".
3°) Dans l'exemple de GBinforme, il y a 2 colonnes et les formules "DECALER" se basent sur 2 colonnes alors que moi, je n'en ai qu'une seule. Je n'ai pas réussi à adapter la procédure pour une seule Colonne.
MikeThe7
1°) Résolu
2°) C'est justement là mon problème, c'est qu'une semaine peut se retrouver sur un mois ET sur le suivant en reprenant les mêmes nom, ce qui faussera les Stats. C'est pour cela que j'ai pensé à faire un tableau récapitulatif sur la feuille "Stats" pour éviter cela.
Ce que je voudrais c'est la reprise des informations sur le tableau en bas de la feuille "Stats".
Si la semaine 5 par exemple est sur 2 mois, cela ne posera pas de problème vu que les informations sur cette semaine sera répertoriée qu'une seule fois dans le tableau "général".
3°) Dans l'exemple de GBinforme, il y a 2 colonnes et les formules "DECALER" se basent sur 2 colonnes alors que moi, je n'en ai qu'une seule. Je n'ai pas réussi à adapter la procédure pour une seule Colonne.
MikeThe7
@ Eric :
En fait je viens de réfléchir à ta solution et c'est vraiment pas bête.
Il ne faudrait remplir que le tableau dans "Stats" et ensuite les feuilles des mois se rempliraient automatiquement par rapport au numéro de semaine dans la colonne B.
Je vais tenter de faire la formule, si j'y arrive... :).
MikeThe7
En fait je viens de réfléchir à ta solution et c'est vraiment pas bête.
Il ne faudrait remplir que le tableau dans "Stats" et ensuite les feuilles des mois se rempliraient automatiquement par rapport au numéro de semaine dans la colonne B.
Je vais tenter de faire la formule, si j'y arrive... :).
MikeThe7
Et voilà toujours le même problème à cause de mes fusions en colonne B pour les Numéros de semaine.
J'ai fait la formule =RECHERCHEV(B3;Stats!B61:G219;2;0) et la valeur renvoyé est toujours la date alors que je voudrais avoir les 3 infos des 3 cellules différentes.
Il n'y a pas moyen de préciser la ligne ?
Est-ce que RechercheV est la meilleure solution dans ce cas précis ?
J'ai fait la formule =RECHERCHEV(B3;Stats!B61:G219;2;0) et la valeur renvoyé est toujours la date alors que je voudrais avoir les 3 infos des 3 cellules différentes.
Il n'y a pas moyen de préciser la ligne ?
Est-ce que RechercheV est la meilleure solution dans ce cas précis ?
Re, salut Eric ;-)
effectivement c'est + simple dans ce sens
tu sélectionnes les 12 mois pour travailler en 3D
pour le lundi 2 janvier matin
=INDEX(Stats!C$61:C$219;EQUIV(C15;Stats!C$61:C$219;0)+1)
et l'aprèsmidi
=INDEX(Stats!C$61:C$219;EQUIV(C$15;Stats!C$61:C$219;0)+2)
et tu tires vers la droite
et tu copies le bloc d'une semaine am-pm sur la semaine suivante
A moins que tu ne sois plus dans la boite l'année prochaine tu aurais peut-être intérêt à mettre l'année en cours dans une cellule nommée An_0 par exemple et appeler cette cellule. il y a des formules qui pourront te donner les dates du 1° lundi du mois et son numéro de semaine
dans chaque feuille mois tu trouves une cellule en dehors du tableau dans le quel tu mets le numéro de mois pour travailler en 3D
effectivement c'est + simple dans ce sens
tu sélectionnes les 12 mois pour travailler en 3D
pour le lundi 2 janvier matin
=INDEX(Stats!C$61:C$219;EQUIV(C15;Stats!C$61:C$219;0)+1)
et l'aprèsmidi
=INDEX(Stats!C$61:C$219;EQUIV(C$15;Stats!C$61:C$219;0)+2)
et tu tires vers la droite
et tu copies le bloc d'une semaine am-pm sur la semaine suivante
A moins que tu ne sois plus dans la boite l'année prochaine tu aurais peut-être intérêt à mettre l'année en cours dans une cellule nommée An_0 par exemple et appeler cette cellule. il y a des formules qui pourront te donner les dates du 1° lundi du mois et son numéro de semaine
dans chaque feuille mois tu trouves une cellule en dehors du tableau dans le quel tu mets le numéro de mois pour travailler en 3D
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Un grand merci à Eriiic dont les compétences ne sont plus à démontrer.
Et sur ce coup un énorme MERCI à Michel_m pour la formule de l'index que je ne connaissais pas du tout.
J'ai adapté le tout ce qui donne un seul tableau à remplir pour la personne qui fera les plannings.
Sur la feuille de chaque mois la seule chose à faire est de taper le Numéro de la 1ère semaine et tout est repris automatiquement. RechercheV pour la date et INDEX pour les 2 lignes en dessous.
Sur la feuille "Stats", il suffit de renseigner la cellule C61 et tout le reste du tableau sera automatiquement rempli, ce qui lui permettra de réutiliser le tableau au fur et à mesure des années.
Je garde sous le coude tes formules sur le 1er lundi de chaque mois, ça pourra me resservir je pense.
Ce qui m'a fait sourire c'est quand tu as dit :
"A moins que tu ne sois plus dans la boite l'année prochaine tu aurais peut-être intérêt à mettre l'année en cours dans une cellule"
En fait je quitte mon poste dans 3 semaines pour un autre travail...
Tu as très bien intuité...
Je vais mettre tout cela au propre et je vous redis si j'éprouve encore des difficultés à fignoler cela.
Avec tous mes remerciements.
MikeThe7
Et sur ce coup un énorme MERCI à Michel_m pour la formule de l'index que je ne connaissais pas du tout.
J'ai adapté le tout ce qui donne un seul tableau à remplir pour la personne qui fera les plannings.
Sur la feuille de chaque mois la seule chose à faire est de taper le Numéro de la 1ère semaine et tout est repris automatiquement. RechercheV pour la date et INDEX pour les 2 lignes en dessous.
Sur la feuille "Stats", il suffit de renseigner la cellule C61 et tout le reste du tableau sera automatiquement rempli, ce qui lui permettra de réutiliser le tableau au fur et à mesure des années.
Je garde sous le coude tes formules sur le 1er lundi de chaque mois, ça pourra me resservir je pense.
Ce qui m'a fait sourire c'est quand tu as dit :
"A moins que tu ne sois plus dans la boite l'année prochaine tu aurais peut-être intérêt à mettre l'année en cours dans une cellule"
En fait je quitte mon poste dans 3 semaines pour un autre travail...
Tu as très bien intuité...
Je vais mettre tout cela au propre et je vous redis si j'éprouve encore des difficultés à fignoler cela.
Avec tous mes remerciements.
MikeThe7
Bonjour Michel_m
Je te remercie pour ton aide et une pensée également à eriiic qui m'a fortement aidé par le passé.
Le fichier est pleinement utilisable à présent, ce qui me laisse perplexe, c'est que sur la fiche de chaque mois, j'ai mis un bouton/macro qui copie la feuille vers un nouveau classeur pour n'envoyer QUE la fiche du mois. Après quelques tests, il s'avère que la personne qui reçoit la feuille seule peut modifier la semaine et voir apparaitre la semaine désirée. Le truc c'est que la mise à jour automatique des liens est désactivée... Ce n'est pas génant en soi, mais je ne comprend pas comment la feuille seule peut récupérer des données sur un classeur qui n'est pas sur son ordinateur.
En tout cas c'est mieux que cela fonctionne ainsi car autrement les fiches envoyées serait vides ou en erreur.
Et oui, ils commencent déjà à entrevoir ce que sera le travail sans moi, mais pas de regrets, s'ils m'avaient payé plus avec un minimum de reconnaissance, ils m'auraient gardé.
Merci pour tes encouragement et à bientôt.
Bonne continuation à tous.
MikeThe7
Je te remercie pour ton aide et une pensée également à eriiic qui m'a fortement aidé par le passé.
Le fichier est pleinement utilisable à présent, ce qui me laisse perplexe, c'est que sur la fiche de chaque mois, j'ai mis un bouton/macro qui copie la feuille vers un nouveau classeur pour n'envoyer QUE la fiche du mois. Après quelques tests, il s'avère que la personne qui reçoit la feuille seule peut modifier la semaine et voir apparaitre la semaine désirée. Le truc c'est que la mise à jour automatique des liens est désactivée... Ce n'est pas génant en soi, mais je ne comprend pas comment la feuille seule peut récupérer des données sur un classeur qui n'est pas sur son ordinateur.
En tout cas c'est mieux que cela fonctionne ainsi car autrement les fiches envoyées serait vides ou en erreur.
Et oui, ils commencent déjà à entrevoir ce que sera le travail sans moi, mais pas de regrets, s'ils m'avaient payé plus avec un minimum de reconnaissance, ils m'auraient gardé.
Merci pour tes encouragement et à bientôt.
Bonne continuation à tous.
MikeThe7
Petit problème, voici la macro créée avec l'enregistreur :
Sub test()
'
Sheets("Janv").Select
ActiveSheet.Unprotect
Sheets("Janv").Select
Sheets("Janv").Copy
Windows("PLANNING GED Stats.xlsm").Activate
Range("C3:G21").Select
Selection.Copy
Windows("Classeur3").Activate
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B3:B5").Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Windows("PLANNING GED Stats.xlsm").Activate
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
En gras c'est la ligne qui risque fortement d'occasionner des plantages, car ce ne sera pas toujours le classeur3 ou classeur2 qui sera nommé lors de l'exportation de la page.
De plus si je copie tout le tableau j'ai un message d'erreur à cause des cellules fusionnées pour la colonne des semaines.
J'avoue que là, mes compétences en VBA sont limitées.
Sub test()
'
Sheets("Janv").Select
ActiveSheet.Unprotect
Sheets("Janv").Select
Sheets("Janv").Copy
Windows("PLANNING GED Stats.xlsm").Activate
Range("C3:G21").Select
Selection.Copy
Windows("Classeur3").Activate
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("B3:B5").Select
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Windows("PLANNING GED Stats.xlsm").Activate
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
En gras c'est la ligne qui risque fortement d'occasionner des plantages, car ce ne sera pas toujours le classeur3 ou classeur2 qui sera nommé lors de l'exportation de la page.
De plus si je copie tout le tableau j'ai un message d'erreur à cause des cellules fusionnées pour la colonne des semaines.
J'avoue que là, mes compétences en VBA sont limitées.
Génial ton système Michel_m !
Voici la macro que j'utilise en suivant tes conseils :
Cells.Select
Selection.Copy
Range("B3:B5").Select
Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Range("B1").Select
En plus c'est d'autant mieux que cette macro sert pour toutes les feuilles, peu importe le nom qu'elles ont. J'ai donc pu supprimé toutes les petites macros attribuées pour chaque mois.
Complètement fonctionnel, c'est propre et pratique, je pense que nous pouvons clore le sujet.
Un grand merci à tous les intervenants et à votre savoir-faire que vous partagez sans compter.
MikeThe7.
Voici la macro que j'utilise en suivant tes conseils :
Cells.Select
Selection.Copy
Range("B3:B5").Select
Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayHeadings = False
Range("B1").Select
En plus c'est d'autant mieux que cette macro sert pour toutes les feuilles, peu importe le nom qu'elles ont. J'ai donc pu supprimé toutes les petites macros attribuées pour chaque mois.
Complètement fonctionnel, c'est propre et pratique, je pense que nous pouvons clore le sujet.
Un grand merci à tous les intervenants et à votre savoir-faire que vous partagez sans compter.
MikeThe7.