Recherche dans plusieurs pages
Bonjour tout le monde,
J'ai utilisé la fonction recherche du forum mais je n'ai pas trouvé de cas similaire (peut être pas utilisé les bons mots clés)
Alors je vais essayer d'être clair, mais disons que sur ma page principale sur excel 2007, j'ai fait un inventaire avec des marques, modèles numéros de série, référence...
Ca ressemble à ça :
Perforateur SDS MAX Hilti TE56 90265 1100001
Perforateur SDS MAX Hilti TE56 202605 1100008A
Perforateur SDS MAX Bosch GBH5-40DCE 611264 1100002 ensuite j'ai une 10aine de pages, qui sont en fait les équipes en services avec les outils qu'elles possèdent.
David S. CJ 681 FE
PERFO M
Perforateur SDS MAX Bosch GBH5-40DCE 209001040 1100010
Total 1J'aimerai pouvoir faire une recherche dans ces pages, de la référence idéalement, et que ça m'affiche le nom de l'équipe qui l'a dans son camion...
En clair, dans l'exemple, aller chercher le 1100010 qui est présent sur la page Équipe 1, et que ça m'affiche "David S." dans ma feuille principale devant la ligne de l'outil avec la ref 1100010 (sachant que j'ai une dizaine d'équipe ou faire la recherche, donc faire la recherche dans cette dizaine de feuille et m'afficher le nom de celui qui l'a)
J'ai essayé avec la fonction recherche mais je n'arrive a aucun résultat concluant.
Si quelqu'un a la réponse, je suis tout ouïe !
Merci d'avance
Je vous ai joint le fichier pour que ce soit plus clair, donc il me faudrait le nom de la personne qui à l'outil en sa possession dans la colonne Nom du responsable (sur la feuille inventaire général) a la place des ????, et si l'outil est en stock, afficher STOCK
Et la recherche doit se faire dans toutes les feuilles qui suivent la feuille inventaire général (en clair equipe 1 2 3 4 RACC 1 2 3 SAV et SAV peinture)
Je bloque la et j'arrive a rien, je suis novice sur excel, j'essaie de me débrouiller avec des tuto mais la ça devient assez spécifique donc je trouve rien
Merci d'avance pour votre aide
Bonjour
Sur le fichier joint:
1) La liste des Feuilles du classeur est établie en colonne R en cliquant dans la feuille "Inventaire Général" sur le Bouton "Liste des Feuilles" (Le bouton est dans la colonne T)
Code dans Module
Sub Liste_Feuilles()
x = 0
Worksheets("Inventaire Général").Activate
For Each s In ActiveWorkbook.Sheets
x = x + 1
Cells(x, 18) = s.Name
Next
End Sub2) La liste des Feuilles utiles est définie par la formule
=DECALER('Inventaire Général'!$R$3;;;NBVAL('Inventaire Général'!$R:$R)-2)Nommée Liste_Feuilles (Voir Nom défini dans Excel)
3) en H14 de la feuille "Inventaire Général", incrémentée vers le bas, la formule matricielle à valider avec les 3 touches ctrl+Maj+Entrée
=SI(SOMMEPROD(--(NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F100");$F14)>0))>=COLONNES($A:A);
INDIRECT("'"&INDEX(Liste_Feuilles;PETITE.VALEUR(SI((NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F100");$F14)>0)=VRAI;LIGNE(INDIRECT("1:"&LIGNES(Liste_Feuilles))));COLONNES($A:A)))&"'!B5");"")Cordialement
Bonjour Amadeus !
Un très gros merci, je n'ai pas vraiment compris comment ça fonctionnait, j'ai pas suffisamment de connaissances dans le domaine pour ça, mais ça fonctionne, c'est déjà très bien !
Par contre, une question, dois je activer les macros, parce que si je ne le fais pas, ça me mets #valeur comme erreur dans la colonne H14
Par contre quand je clique sur le bouton liste, j'ai aussi un message d'erreur : "Impossible d’exécuter la macro XXXX, il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées"
Merci d'avance pour le temps que vous m'avez donné !
Cordialement
Jérémie
Bonjour
La macro n'était là que pour éditer la liste des feuilles et éviter une faute d'orthographe toujours possible et source d'erreur dans ce cas. Oublies-la.
Disons que tu saisis directement en colonne R le nom des feuilles sur lesquelles la recherche doit s'effectuer et comme dit plus haut, attention aux fautes et/ou aux espaces ajoutés ou oubliés.
Tu définis le nom "Liste_Feuilles" avec la formule
=DECALER('Inventaire Général'!$R$3;;;NBVAL('Inventaire Général'!$R:$R))et tout rentre dans l'ordre comme sur ce nouveau fichier sans macro.
Cordialement
Parfait, je comprends, donc logiquement tout est fonctionnel je n'ai qu'a rentrer mes données et tout se fais automatiquement
Par contre dernière petite question, comment faut il faire pour éditer la formule, car pour le moment elle fait sa recherche dans chaque page pour les cellules F9:F100, sauf que je vais rajouter des colonnes et aller plus loin que 100.
J'ai essayé de le faire directement dans la cellule et de dérouler la formule après mais ça ne fonctionne pas, car ça m'affiche #VALEUR quand j'ai un nom qui doit s'afficher ?
Encore merci de ton aide
Jérémie
Bonjour
ça ne fonctionne pas, car ça m'affiche #VALEUR
Comme précisé dans mon premier message, la formule doit être validée avec les 3 touches Ctrl+Maj+Entrée pour fonctionner
Cordialement
Bonjour, j'ai bien lu qu'il fallait l'activer avec ctrl+maj+entrée, sauf que quand j'édite la formule
- =SI(SOMMEPROD(--(NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F500");$F14)>0))>=COLONNES($A:A);
INDIRECT("'"&INDEX(Liste_Feuilles;PETITE.VALEUR(SI((NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F500");$F14)>0)=VRAI;LIGNE(INDIRECT("1:"&LIGNES(Liste_Feuilles))));COLONNES($A:A)))&"'!B5");"")
en lieu et place de celle ci :
- =SI(SOMMEPROD(--(NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F100");$F14)>0))>=COLONNES($A:A);
INDIRECT("'"&INDEX(Liste_Feuilles;PETITE.VALEUR(SI((NB.SI(INDIRECT("'"&Liste_Feuilles&"'!F9:F100");$F14)>0)=VRAI;LIGNE(INDIRECT("1:"&LIGNES(Liste_Feuilles))));COLONNES($A:A)))&"'!B5");"")
et bien cela m'affiche #VALEUR, que j'appuie sur ctrl+maj+entrée ou non.
C'est pour ca que je ne comprends pas ? Peut être que la modification est différente ?
Merci
Bonjour
Ta manip Ctrl+Maj+Entrée est incorrecte.
Tu dois placer le curseur de la souris n'importe où dans la formule dans la barre de formule et non dans la cellule et faire ensuite ctrl+Maj+Entrée
Cordialement
Parfait ça fonctionne, je pensais que c'était comme pour activer une macro, maintenant tout marche.
Merci beaucoup pour ton aide précieuse !
Bonne journée
Jérémie