Bonjour,


Je n'arrive pas à trouver la solution pour ouvrir les fichiers où une valeur recherchée est présente.

En fait, je souhaiterais ouvrir les fichiers résultant d'une recherche sur une valeur précise.

Clairement, j'ai une cellule "Code" dans mon fichier rechercher.xls
En cliquant sur le bouton rechercher la macro doit lancer la recherche dans le répertoire "C:Bordereau/" et ouvrir les fichier excel dans lesquels le "code" est présent.

Suis-je clair ?

Je pense qu'il y a une possibilité car j'ai travaillé par le passé sur ce système mais c'était pour identifier uniquement des noms de fichiers et non des données à l'intérieur des fichiers. Voici le code que j'avais utilisé pour cette méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Sub Recherche_par_code_client()
'
' Macro1 Macro
' Macro enregistrée le 17/02/2009 par Nicolas Baudry
'
 
 
Sheets("Feuil1").Select
Range("D4").Select
lot = ActiveCell.Value
 
 
    myrep = "c:\Lots\"
 
 
    nomfich = Dir(myrep & "\*" & lot & "*.pdf")
 
 
    If nomfich <> "" Then
        Msg = "Il existe un Contrôle Botanique pour le lot " & lot & vbCrLf & "Cliquez sur 'Oui' pour l'ouvrir"    ' Définit le message.
        Style = vbYesNo + vbInformation    ' Définit les boutons.
        Title = "Résultat de la recherche "    ' Définit le titre.
 
        Response = MsgBox(Msg, Style, Title) ' Affiche le message.
 
        If Response = vbYes Then    ' L'utilisateur a choisi Oui.
 
            fich = (myrep & "\" & nomfich)
            ShellExecute 0, "open", fich, "", "", 0
 
            Else
            ActiveSheet.Range("B6").Select
 
        End If
 
    Else
 
        Msg = "Il n'y a pas de Contrôle Botanique pour le lot " & lot & vbCrLf & "Cliquez sur Oui pour le créer"    ' Définit le message.
        Style = vbYesNo + vbInformation    ' Définit les boutons.
        Title = "Résultat de la recherche "    ' Définit le titre.
 
        Response = MsgBox(Msg, Style, Title) ' Affiche le message.
 
            If Response = vbYes Then    ' L'utilisateur a choisi Oui.
            Preparation_pour_CB
 
            Else
            ActiveSheet.Range("B6").Select
 
            End If
 
        End If
    End If
 
 
End Sub
Par avance merci pour votre aide

Liop

Plus clairement, je souhaite crééer une macro permettant de faire la même chose que le module de recherche sous windows et y ajouter des fonctions supplémentaire.


Dans un fichier recherche.xls
1. Rechercher le texte "x" dans le repertoire "c:/liop/"
2. Ouvrir le(s) fichier(s) trouvré(s) (fichier excel)
3. Copier la ligne dans le(s) fichier(s) trouvés où "x" est présent
4. Coller la ligne dans le fichier recherche.xls (où on a lancé la macro)
5. Fermer le(s) fichier(s) trouvé(s)

Suis je plus clair ?


Merci

Liop