Microsoft 365 Rechercher dans plusieurs fichiers

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous 🙂

En voici une bonne pour ce début de semaine lol 🙃

Evidemment, je ne sais pas coder pour résoudre mon besoin !
Alors, je sollicite à nouveau nos chers ténors :

Voici le contexte de mon besoin :
NOUS TRAVAILLONS AVEC 3 FICHIERS ouverts généralement en même temps.

Les Professionnels que nous appelons sont difficiles à joindre.
Nous avons souvent des répondeurs et nous laissons un message.

Quand un Pro nous rappelle, NOUS DE DECROCHONS PAS.
Avant de rappeler nous vérifions à partir de quel fichier on a appelé pour savoir où nous en sommes avec le Pro.

Pour le rappeler il faut faire vite avant que le Pro ne soit à nouveau occupé.
Pour cela, il nous faut trouver très rapidement à partir de quel fichier nous avons appelé.

Nos 3 fichiers sont identiques et nous commençons toujours nos recherches par la feuille Appels,
Le besoin
Partant du principe que nos 3 fichiers sont généralement ouverts en même temps (mais ce n'est pas toujours le cas) :
Est-il possible si la recherche ne trouve rien dans la feuille active (Appels) du fichier actif que la recherche :
si pas trouvé que la recherche propose de chercher dans le fichier suivant (ouvert) ? :
1647274113301.png

Les noms des fichiers sont toujours les mêmes sauf la date qui change.
isiTel_lionel_fichier1 2022 03 14
isiTel_lionel_fichier2 2022 03 14
isiTel_lionel_fichier3 2022 03 14

Auriez-vous le bon code ?

Un grand merci par avance 🙂
Je continue à tâtonner .. et je joins un petit fichier test qui contient le code de la recherche.
Amicalement,
lionel 🙂
 

Pièces jointes

Dernière édition:
Solution
Bonjour Lionel, le forum,

Je disais que ce fil était sans fin !!!

Pour traiter plusieurs feuilles il suffit d'ajouter une boucle sur les noms des feuilles :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Dim cible$, chemin$, fichier, feuille, plage As Range, lig&, i%, col As Range, x$, n&
cible = Right([B1], 9) 'à adapter
chemin = ThisWorkbook.Path & "\" 'à adapter
fichier = Dir(chemin & "isiTel*.xlsb") '1er fichier du dossier
feuille = Array("Appels", "Sextant", "Dr House") 'liste des feuilles où l'on recherche
Set plage = [D1:G10000] 'référence de la plage de recherche à adapter
lig = 2
Application.ScreenUpdating = False
Application.EnableEvents = False
While fichier <> ""...
Bonsoir job75; bonsoir à tous,
@Gérard,

Le code du fichier du #post 38 (2eme version) fonctionne bien Je dirais même "trop bien" lol
Voici ce qu'il me donne :
1647555391921.png

J'ai 1 demande si c'est possible et si tu veux bien encore m'aider :
1 - que le numéro soit uniquement cherché dans les feuilles "Appels" des 3 fichiers (le numéro peut être dans plusieurs fichiers),
J'espère ne pas trop abuser mais ce serait top top top.

et 1 question :
1647556897550.png

J'ai ce dossier qui s'ouvre "Removable Storage Devices",
Je pense que c'est ton code qui l'ouvre, à quel moment disparait-il ?

Merci Gérard
lionel 🙂
 
Dernière édition:
Bonjour Jean-Marie 🙂
Merci pour tes recherches.
J'ai vu tes vidéos /
- Dans la feuille Appels des 3 fichiers, il n'y a qu'une fois le numéro cherché des la plage est F6:F10000.
- il ne faut pas que les numéros dans mes fichiers soient modifiés en Lien "Hyperlink" = il ne faut rien changer dans mes 3 fichiers,
- si, exceptionnellement, il y a 2 fois le numéro, ce ne sera jamais à suivre,
lionel 🙂
 
Re
Tu dis :
- il ne faut pas que les numéros dans mes fichiers soient modifiés en Lien "Hyperlink" = il ne faut rien changer dans mes 3 fichiers,
Qui a dit ça ?
Sûrement pas moi .lol
Tu dis aussi et c'est nouveau !
si, exceptionnellement, il y a 2 fois le numéro, ce ne sera jamais à suivre,
Moi je quitte la recherche si numéro trouvé donc j'ai encore tout faux lol et ....
J'arrête donc là ! Lol
De plus je crois que Gérard t'a donné la solution .
Bonne journée
Jean marie
 
Dernière édition:
Bonjour Lionel, le forum,

D'après ce que je comprends il faut récupérer uniquement la 1ère occurence des feuilles "Appels".

Donc il y a au maximum 3 résultats possibles.

Alors prends cette macro qui utilise des formules de liaison :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1]) Is Nothing Then Exit Sub
Dim cible$, chemin$, x$, fichier, feuille$, col$, lig&, fich, i As Variant
cible = [B1] 'à adapter
chemin = ThisWorkbook.Path & "\" 'à adapter
x = Format(Date, " yyyy mm dd") & ".xlsb" 'à adapter au besoin
fichier = Array("isiTel_lionel_ExpRealty" & x, "isiTel_lionel_Global" & x, "isiTel_lionel_Mael" & x) 'à adapter
feuille = "Appels"
col = "C6" 'colonne F en notation R1C1
lig = 2
For Each fich In fichier
    If Dir(chemin & fich) = "" Then MsgBox "Fichier '" & fich & "' introuvable !", 48: GoTo 1
    x = chemin & "[" & fich & "]" & feuille & "'!" & col & ",0)"
    i = ExecuteExcel4Macro("MATCH(" & cible & ",'" & x) 'recherche un nombre
    If IsError(i) Then i = ExecuteExcel4Macro("MATCH(""" & cible & """,'" & x) 'recherche un texte
    If IsNumeric(i) Then
        Cells(lig, 4) = fich
        Cells(lig, 5) = feuille
        Cells(lig, 6) = "F" & i
        lig = lig + 1
    End If
Next
1 If lig < 5 Then Range("D" & lig & ":F4").ClearContents 'RAZ
End Sub
Fonctionne que les fichiers soient ouverts ou fermés, sans les ouvrir.

A+
 

Pièces jointes

Bonjour Lionel, le forum,

D'après ce que je comprends il faut récupérer uniquement la 1ère occurence des feuilles "Appels".

Donc il y a au maximum 3 résultats possibles.
Bonjour Gérard,

Merci pour m'avoir encore répondu 🙂
Bonjour Lionel, le forum,

D'après ce que je comprends il faut récupérer uniquement la 1ère occurence des feuilles "Appels".

Donc il y a au maximum 3 résultats possibles.
Bonjour Gérard,
Merci pour m'avoir encore répondu 🙂
lol de plus en plus fort et je me demande si tu as des limites🙄😀

"Donc il y a au maximum 3 résultats possibles."
Effectivement, sauf si exceptionnellement, il y a 2 lignes pour le numéro cherché dans l'un des fichiers.

"Fonctionne que les fichiers soient ouverts ou fermés, sans les ouvrir."
Veut dire qu'il m'indiquera ou est le numéro même fichiers fermés ?
ça c'est trop fort 🙂

Je teste ce soir et je reviendrai pour te dire.
Encore un super de chez super MERCI 🙂
lionel,
 
Re
Donc il y a au maximum 3 résultats possibles."
Effectivement, sauf si exceptionnellement, il y a 2 lignes pour le numéro cherché dans l'un des fichiers.
Donc trois lignes ( identiques )possibles dans la feuille de récupération ? Moi qui avais compris qu'une seule ligne devait être retournée....
Donc un seul numéro, mais trois fois!
Gérard a dit :
D'après ce que je comprends il faut récupérer uniquement la 1ère occurence des feuilles "Appels".
Mais comment saura t'on qu'il y en avait deux ? lol
Une autre subtilité lol
si pas trouvé que la recherche propose de chercher dans le fichier suivant (ouvert) ? :
Veut dire qu'il m'indiquera ou est le numéro même fichiers fermés ?
ça c'est trop fort 🙂
Y'a vraiment que Gérard qui sache lire entre les lignes lol
Bonne fin de journée

Jean marie
 
Dernière édition:
Re
Donc il y a au maximum 3 résultats possibles."

Donc trois lignes ( identiques )possibles dans la feuille de récupération ? Moi qui avais compris qu'une seule ligne devait être retournée....
Donc un seul numéro, mais trois fois!
Gérard a dit :

Mais comment saura t'on qu'il y en avait deux ? lol
Une autre subtilité lol


Y'a vraiment que Gérard qui sache lire entre les lignes lol
Bonne fin de journée

Jean marie
OUI, ça c'est Gérard ! Mais je l'ai tellement "embêté" depuis des années, il est très sensible (j'arrête là car je ressens bcp d'autre choses de Gérard), il est patient, et il en faut de la patience avec moi, et très à l'écoute.
Il aime aider. Il connait mes réactions et devine "le côté sombre" de mes demandes.
Je suis très reconnaissant à toi et à tous pour toute l'aide que vous m'apportez depuis tellement longtemps ... Mais Gérard c'est spécial et ma reconnaissance est encore plus grande 🙂
 
OUI, ça c'est Gérard ! Mais je l'ai tellement "embêté" depuis des années, il est très sensible (j'arrête là car je ressens bcp d'autre choses de Gérard), il est patient, et il en faut de la patience avec moi, et très à l'écoute.
Il aime aider. Il connait mes réactions et devine "le côté sombre" de mes demandes.
Je suis très reconnaissant à toi et à tous pour toute l'aide que vous m'apportez depuis tellement longtemps ... Mais Gérard c'est spécial et ma reconnaissance est encore plus grande 🙂
à toi aussi mon Marcel personnel je te suis reconnaissant pour être là très souvent pour moi 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
787
Réponses
10
Affichages
4 K
Retour