[VBA] Recherche d'un fichier grâce à un copié/collé

ange180190

XLDnaute Junior
Bonjour ,

je suis un peu bloquée sur mon projet et j'aurais besoin de votre aide

alors je vais essayer d'être le plus claire possible :

j'ai une feuille excel dans laquelle je demande à l'utilisateur d'entrer un numéro , celui-ci est copié dans la cellule B1 . Je copie donc ce numéro et j'aimerais ouvrir tout les fichiers dans mon répertoire qui commencent par ce numéro...

j'ai commencé mon code comme ceci :

Sub Macro1()


Range("B1").Select
Selection.Copy
ChDir "C:\MonRepertoire\MesFichiers"
Workbooks.Open Filename:= _
"C:\MonRepertoire\MesFichiers\Copier numéro de la cellule B1 ~.xls"
End Sub


voila , j'espere que c'est assez "clair" et que vous pourrez me mettre sur la voie , merci d'avance !
ange180190
 

Sofhy

XLDnaute Occasionnel
Re : [VBA] Recherche d'un fichier grâce à un copié/collé

Bonjour ange180190,

Voici une proposition.
Par contre, ça n'ouvre que le fichier avec le nom exact de la cellule.

Code:
Sub Macro1()
Dim Nom As String
Range("B1").Select
Nom = Selection.Value
    ChDir "C:\Documents and Settings\ange180190\Mes documents"
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\ange180190\Mes documents\" & Nom & ""
End Sub

A+
Sofhy
 

ange180190

XLDnaute Junior
Re : [VBA] Recherche d'un fichier grâce à un copié/collé

Merci pour ta réponse et ton lien , je vais y jeter un coup d'oeil...

Merci pour ta solution mais mon soucis est que l'utilisateur ne connait pas le nom exacte du fichier , il n'a que le début comme par exemple "23 Il fait beau.xls" et c'est le numéro 23 qui est dans la cellule B1 et j'aurais aimé qu'il trouve "tout seul" le reste...
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Recherche d'un fichier grâce à un copié/collé

Bonjour à tous,

Une solution avec le début du nom :

Code:
Option Explicit
Sub test()
Dim MonRepertoire As String, fs As FileSearch
MonRepertoire = "C:\mESdOCS\Test"
Set fs = Application.FileSearch
With fs
    .NewSearch
    .LookIn = MonRepertoire
    .Filename = Range("B1").Value & "*" & ".xls"
    If .Execute > 0 Then Workbooks.Open .FoundFiles(1)
End With
End Sub

bon après midi
@+
 
Dernière édition:

ange180190

XLDnaute Junior
Re : [VBA] Recherche d'un fichier grâce à un copié/collé

je vais vous embeter encore une denière fois , j'ai le code suivant :

Sub copie_infos()


Dim ThisWbk As Workbook


Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = MonRepertoire
.Filename = Range("B1").Value & "*" & ".xls"
If .Execute > 0 Then



Windows("Workbooks.Open .FoundFiles(1)").Activate
Range("E2:F3").Select
Selection.Copy
Windows("Fin2.xls").Activate
Range("D1:E1").Select
ActiveSheet.Paste
Windows("Workbooks.Open .FoundFiles(1)").Activate
Range("B9").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Fin2.xls").Activate
Range("C1").Select
ActiveSheet.Paste
Windows("Workbooks.Open .FoundFiles(1)").Activate
Windows("Fin2.xls").Activate
Workbooks("Workbooks.Open .FoundFiles(1)").Close False

End If


End With

End Sub


à la compilation , il ne rentre pas du tout dans la boucle , comment je fais pour lui dire de prendre le fichier qu'il vient de trouver pour copier les infos ?

Merciiii d'avance !
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Recherche d'un fichier grâce à un copié/collé

Re,

regarde le code ci-dessous si il peut t'aider, à compléter et nom des feuilles à adapter...

Code:
Option Explicit
Sub test()
Dim MonRepertoire As String, fs As FileSearch, wb As Workbook, wb2 As Workbook
MonRepertoire = "D:\DONNEES\DOCLPE\Test"
Set fs = Application.FileSearch
With fs
    .NewSearch
    .LookIn = MonRepertoire
    .Filename = Range("B1").Value & "*" & ".xls"
    If .Execute = 0 Then Exit Sub 'sortie de la procédure si classeur non trouvé
    Set wb = Workbooks.Open(.FoundFiles(1))
End With
Set wb2 = ThisWorkbook
wb.Sheets("NomFeuille").Range("E2:F3").Copy Destination:=wb2.Sheets("NomFeuille").Range("D1")
wb.Close
End Sub

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 359
Messages
2 087 587
Membres
103 602
dernier inscrit
nuky_nuke