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 :
Par avance merci pour votre aide
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
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
Partager