Résultat de recherche

Résolu
Marlj Messages postés 58 Date d'inscription   Statut Membre Dernière intervention   -  
 marlj -
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

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    1. marlj
       
      Wow, ça marche!! Merci beaucoup!
      0