Ouvrir fichier avec début de nom (macro)

juju59

XLDnaute Nouveau
Bonjour à tous,

je m'adresse a vous car j'ai un petit soucis.

j'ai créer une macro avec excel qui ouvre elle même certains fichiers contenu dans un dossier précis.

Pour cela, j'ai du entrer le nom des fichiers que je souhaite ouvrir.

voici mon code :
Code:
Public Function FileExist(ByRef inFile As String) As Boolean

'*****************************/
' Fonction qui renvoi si fichier existant  /
'*****************************/
On Error Resume Next
Let FileExist = CBool(FileLen(inFile) + 1)
End Function

sub ouvrirfichier()
Dim classeur1 As Workbook, classeur 2 as workbook
Dim nom1 As String, nom2 as string
Dim chemin As String

 nom1 = "1234567899_67891234_5.txt"
nom2= "partiefixenom2_partievariablenom2.txt"

Chemin = "chemin\a\suivre\"

If FileExist(chemin & nom1) Then
 Set classeur1 = Workbooks.Open(chemin & nom1)
end if



If FileExist(chemin & nom2) Then
 Set classeur2 = Workbooks.Open(chemin & nom2)
end if
end sub

J'ai ce code qui se répète pour une quinzaine de fichier.

Mon problème est donc que le début du nom ici : 1234567899 est toujours fixe mais la partie 67891234_5 est vartiable.

J'ai remarqué que si l'on modifie cette partie variable par * ou ?????????? ne fonctionne pas.

Auriez vous une idée pour corriger ce problème ?

Je pensais peut être utiliser la fonction MID() mais je ne sais pas comment

Merci beaucoup
 
Dernière édition:

juju59

XLDnaute Nouveau
Re : Ouvrir fichier avec début de nom (macro)

Merci pour ta réponse Dranreb

Je n'arrive pas trop a l'utilisé... J'ai mi ceci
Code:
If Len(Dir("\chemin\1234567899_*.txt")) = 0 Then
Else
 Set classeur5 = Workbooks.Open(Dir("\chemin\1234567899_*.txt"))

Je pense qu'a présent excel détecte que le fichier est présent mais je n'arrive pas a l'ouvrir.

Il me met un message d'erreur sur la ligne "Set classeur5..."
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Ouvrir fichier avec début de nom (macro)

Peut être parce que le chemin du fichier n'est pas le chemin courant. Le Dir ne réstitue que le nom de fichier. Pour boucler sur tous:
VB:
Dim NomFic As String, Classeur5 As Workbook
NomFic = Dir("\chemin\1234567899_*.txt")
While NomFic <> ""
   Set Classeur5 = Workbooks.Open("\chemin\" & NomFic)
'  . . .
   Classeur5.Close
   NomFic = Dir(""): Wend
À+
 

juju59

XLDnaute Nouveau
Re : Ouvrir fichier avec début de nom (macro)

J'ai utilisé
Code:
Dim NomFic As String, Classeur5 As Workbook
NomFic = Dir("\chemin\1234567899_*.txt")
If NomFic <> "" Then
   Set Classeur5 = Workbooks.Open("\chemin\" & NomFic)
'  . . .
  Classeur5.Close SaveChanges:=No

End if

et ça marche très bien !

merci beaucoup Dranreb !
 

Discussions similaires

Réponses
3
Affichages
418

Statistiques des forums

Discussions
312 502
Messages
2 089 047
Membres
104 011
dernier inscrit
dfr