Résultat de recherche

Résolu/Fermé
Marlj Messages postés 58 Date d'inscription mercredi 29 juin 2011 Statut Membre Dernière intervention 12 mars 2020 - 19 mars 2015 à 20:01
 marlj - 23 mars 2015 à 19:07
Bonjour,
J'ai déjà posé ma question, mais je crois que je mettais mal expliqué, alors je refais une tentative. J'ai un fichier pour des commandes qui contient :
1-Un onglet "Commande" où j'entre mes numéros de commande (col A), la date d'entrée de la commande (col B) et la date de livraison (col C). D'autres infos sont entrées dans les colonnes suivantes, mais ne sont pas pertinentes pour ma question.
2-Un onglet pour chaque semaine, qui fait office de rapport (le # de commande est aussi et toujours dans la colonne A).

Une commande peut s'étaler sur plusieurs semaines. Exemple : pour la commande #123 j'ai 10 produits à sortir. J'en sort 2 dans la semaine du 2 fév., 3 dans la semaine du 9 fév. et 5 dans la semaine du 23 fév.

Question : j'aimerais pouvoir sortir dans quelles semaines (donc quels onglets) se retrouve la commande #123. Je sais que je peux faire une recherche dans le classeur, mais ça ouvre une fenêtre m'indiquant les feuilles. Moi je voudrais l'avoir dans une feuille Excel, dans une feuille à part, qui pourrait s'appeler "Recherche" par exemple. Est-ce que vous avez des suggestions (macro ou pas)? Merci à l'avance.

1 réponse

via55 Messages postés 14379 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 21 février 2024 2 691
19 mars 2015 à 21:26
Bonsoir

Une possibilité avec une simple fonction personnalisée à condition que la feuille Commande soit la 1ere du classeur et les feuilles semaines les 2eme et suivantes
Function onglets(plage As Range)
com = plage.Value
For n = 2 To Sheets.Count
If Application.WorksheetFunction.CountIf(Sheets(n).Range("A:A"), com) > 0 Then
retour = retour & Sheets(n).Name & ", "
End If
Next
onglets = retour
End Function


Une fois la fonction mise dans un module de l'éditeur VBA, dans la feuille Commande, avec le n° en colonne A, si tu veux en colonne F2 par exemple les noms des feuilles contenant la commande en A2 il suffit de mettre la formule =onglets(A2)
Si les semaines suivantes la commande A2 est encore servie, il faudra réactualiser la formule en F2 pour mettre à jour

Cdlmnt
0
Wow, ça marche!! Merci beaucoup!
0