Recherche fichier xls selon contenu cellule

Zentin

XLDnaute Nouveau
Bonjour le forum,
J’ai un petit souci d’ouverture de fichier dont le contenu de la cellule G12 ou la cellule D15 sont dans le nom du ficher sauvegardé dans un autre dossier.
Pour être plus claire, ci-joint mon fichier avec les 2 Command Button de recherche à côté des cellules G12 et D15 et voici un bout de code bidouillé à partir de plusieurs réponses sur ce forum mais il ne fonctionne absolument pas!
Quelqu’un pourrait-il m’aider svp.

Private Sub CommandButton1_Click() pour la recherche par rapport au nom du client
Dim chemin As String
chemin = ThisWorkbook.Path & "\"
End
Workbooks.Open Filename:=chemin & "Offres xls\" & "[D15.Value]*" & "_" & "*" & "_" & "*" & ".xls"
End Sub


Private Sub CommandButton2_Click() pour la recherche par rapport au n° de l’offre
Dim chemin As String
chemin = ThisWorkbook.Path & "\"
End
Workbooks.Open Filename:=chemin & "Offres xls\" & "*" & "_" & "*" & "_" & [G12].Value & ".xls"
End Sub

Merci d’avance et excellente journée à tous,

Christine
 

Pièces jointes

  • OFFRES.zip
    37.3 KB · Affichages: 33
  • OFFRES.zip
    37.3 KB · Affichages: 35
  • OFFRES.zip
    37.3 KB · Affichages: 51

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Bonjour Pierrot,

Super rapide comme d'hab!!!!
Ai supprimé les 2 End dans les codes, mais j'ai une erreur d'exécution 1004 qui doit très certainement être due à mes "*" que j'ai ajoutés dans le code pour signaler qu'il y a des données avant le n° d'offre ou après le nom du client.
Fichier avec codes corrigés et explications ci-joint.

D'avance merci pour l'attention que vous apportez à mes demandes.

Christine
 

Pièces jointes

  • OFFRES.zip
    37.8 KB · Affichages: 41
  • OFFRES.zip
    37.8 KB · Affichages: 40
  • OFFRES.zip
    37.8 KB · Affichages: 40

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Re-bonjour à tous,

Je n'abandonnes pas mon idée et continue de chercher, mais sans succès.
Voici une autre idée de code sans préciser que les cellule avec références à chercher ne sont qu'un partie du nom de fichier à trouver.

Private Sub CommandButton1_Click()
Dim chemin As String
chemin = ThisWorkbook.Path & "\"
valeur = Range("G12").Value
Workbooks.Open Filename:=chemin & "Offres xls\" & valeur & ".xls"
End Sub

Private Sub CommandButton2_Click()
Dim chemin As String
chemin = ThisWorkbook.Path & "\"
valeur = Range("D15").Value
Workbooks.Open Filename:=chemin & "Offres xls\" & valeur & ".xls"
End Sub

Quelqu'un aurait-il une idée à me soumettre svp?
Merci d'avance
Christine
 

Pierrot93

XLDnaute Barbatruc
Re : Recherche fichier xls selon contenu cellule

Re,

devrait fonctionner si le chemin est valide ainsi que le nom du fichier.... exécute le code pas à pas (F8 dans l'éditeur vba) et vérifie les valeurs des variables si elles correspondent......

bonne soirée
@+
 

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Bonjour Robert et le forum,

Merci pour l'info, j'ai trouvé une erreur dans le nom du chemin que j'ai adapté mais j'ai toujours le problème de recherche valeur parce que la valeur renseignée n'est qu'une partie du nom complet.
Ex: je renseigne la valeur 7585 en G12 mais ce chiffre est le dernier élément du nom sauvegardé (xxxxxxx_XXXXXX_7585.xls) et de ce fait je pense que je devrais ajouter des * dans la macro de recherche mais je ne sais absolument pas où ni comment.
Idem pour la valeur (ex. Client A) renseignée en D15 mais ce texte est le premier élément (parfois incomplet) du nom sauvegardé (Client A*_xxxxxxx_xxxx.xls).
Voici le code adapté avec le bon chemin, mais toujours pas de résultat de recherche positive.
Auriez-vous un conseil à me donner svp?




Private Sub CommandButton1_Click()
Dim chemin As String
chemin = ThisWorkbook.Path & "\Offres xls\"
valeur = Range("G12").Value
Workbooks.Open Filename:=chemin & "valeur" & ".xls" voici l'erreur
End Sub

Private Sub CommandButton2_Click()
Dim chemin As String
chemin = ThisWorkbook.Path & "\Offres PDF\"
valeur = Range("D15").Value
Workbooks.Open Filename:=chemin & "valeur" & ".PDF" voici l'erreur
End Sub

Encore merci pour votre aide et excellent weekend
Christine
 

Pierrot93

XLDnaute Barbatruc
Re : Recherche fichier xls selon contenu cellule

Re,

regarde ceci, avec la fonction "Dir", cela semble plus approprié...
Code:
Option Explicit
Sub test()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path & "\Offres xls\"
fichier = Dir(chemin & "Client*", vbDirectory)
If fichier <> "" Then Workbooks.Open fichier
End Sub

@+
 

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Merci Pierrot,
Mais les clients ne s'appellent malheureusement pas client A, Client B, etc... mais plutôt toto, tata, soc, ABC, etc...
Alors ça ne fonctionne pas en mentionnant "Client*" je devrais avoir soit valeur = *_*_Range("G12").Value
et valeur = Range("D15").Value_*_*
Ou peut être changer le Chemin en :
chemin = ThisWorkbook.Path & "\Offres xls\*_*_"

Pour simplifier les choses, je pense que je vais changer le Open par search ou find file des les afficher dans ma feuille excel en par simple clic sur le fichier trouver l'ouverture de celui-ci, je pense que cela sera préférable au cas où il y aurait plusieurs documents ayant le même nom de client ou n° de référence.

Merci encore pour toute ton aide.
@+
Christine
 

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Re,

Désolée Robert voici en clair ce que je cherche à faire :
La valeur renseignée en G12 n'étant que la valeur des derniers chiffres du nom de fichier
ex. de nom de fichier = toto sa_500 ballons rouges_1245.xls
en renseignant uniquement 1245 dans la cellule G12 de ma feuille "MENU", je souhaiterais que le document toto sa nv_500 ballons rouges_1245.xls s'ouvre.
Et pour la valeur renseignée en D15 qui n'est qu'une partie du nom du client
en renseignant uniquement toto* dans la cellule D15 de ma feuille "MENU", je souhaiterais que le document toto sa nv_500 ballons rouges_1245.xls s'ouvre.

es-ce plus clair comme ça?
@+
Christine
 

kjin

XLDnaute Barbatruc
Re : Recherche fichier xls selon contenu cellule

Bonjour, Pierrot :),
Robert c'est Pierrot ou Pierrot c'est Robert
@Zentin : essaies avec des caractères génériques comme par exemple
Code:
Private Sub CommandButton1_Click()
Dim f$, pf$
f = "*" & Range("G12") & ".xls"
pf = Dir(ThisWorkbook.Path & "\Offres xls\" & f)
If pf <> "" Then Workbooks.Open pf
End Sub

Private Sub CommandButton2_Click()
Dim f$, pf$
f = Range("D15") & "*.xls"
pf = Dir(ThisWorkbook.Path & "\Offres xls\" & f)
If pf <> "" Then Workbooks.Open pf
End Sub
si 2 fichiers correspondent aux critères...
A+
kjin
 

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Bonjour Kjin, re- re-PIERROT

@Pierrot, toutes mes excuses pour l'erreur de prénom, j'espère que vous me pardonnerez!:eek:

@Kjin,
Merci pour ce code que j'essayerai dès mon retour des courses, d'ici 1h.
Petite question en passant, comment faîtes vous pour insérer la fenêtre avec les codes?

Merci à tous et à tout de suite pour le résultat de mes tests avec le code.

Christine
 

Zentin

XLDnaute Nouveau
Re : Recherche fichier xls selon contenu cellule

Re, bonjour Kjin,

Merci, il trouve bien le fichier recherché mais ne l'ouvre pas.
Erreur d'exécution 1004 fichier introuvable sur la ligne
If pf <> "" Then Workbooks.Open pf

Petite question subsidiaire : que représente le signe $ dans ton code stp?

@+
Christine
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 441
Membres
103 210
dernier inscrit
Bay onais