Aide VBA : ouvrir fichier qui change de nom mais garde un même mot

stik913

XLDnaute Nouveau
Bonjour à tous,

Je suis novice dans l'élaboration de macro, je cherche à intégrer à ma macro une fonction d'ouverture d'un fichier excel. Il faut savoir que ce fichier changera tout le temps de noms mais gardera toujours le même mot (ex: tous). Comment faire svp ?
 

CHALET53

XLDnaute Barbatruc
Re : Aide VBA : ouvrir fichier qui change de nom mais garde un même mot

Bonjour,

Peux-tu préciser davantage ?
Est -ce que la construction du nom du fichier répond à une règle précise du style :
Une partie fixe : tous
suivi d'un suffixe (par exemple) 01 , 02 , 03 : quelque chose de facilement identifiable

a+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide VBA : ouvrir fichier qui change de nom mais garde un même mot

Bonjour Stik, Chalet, bonjour le forum,

Tu peux essayer une condition du style :
Code:
If Left(le_fichier.Name, 4) = "Tous" Then
Mais comme le remarque Chalet tes explications sont trop vagues pour que l'on puisse te proposer une solution fiable...
 

stik913

XLDnaute Nouveau
Re : Aide VBA : ouvrir fichier qui change de nom mais garde un même mot

En fait chaque mois le fichier change de nom, il s'appelle "vente....(tous) Oct2011" par exemple et le suivant "vente....(tous) Nov2011" mais il y a plusieurs fichiers "vente....(..)" par des soucis de confidentialité je dirai qu'il y a un type de fichier qui va sappeler "vente chaussures (tous) Oct2011" et un autre "vente chaussures (noires) Oct2011" et ce pour chaque mois.

Moi j'aimerai que ma macro fasse la distinction entre eux, et donc qu'elle distingue les fichiers (tous) des (noires) donc ma partie fixe sera (tous) et (noires)
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide VBA : ouvrir fichier qui change de nom mais garde un même mot

Bonjour le fil, bonjour le forum,

En pièce jointe un petit bout de code qui peut-être pourra t'aider...

Le code :
Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELlule)
Dim lt As Byte 'déclare la variable lt (Longueur Totale)
Dim l1 As Byte 'déclare la variable l1 (Longueur 1: du début à la première parenthèse)
Dim l2 As Byte 'déclare la variable l2 (Longueur 2: de la seconde parenthèse à la fin)
 
For Each cel In Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row) 'boucle sur toutes les cellules éditées cel de la colonne A
    lt = Len(cel.Value) 'définit la variable lt
    l1 = Len(Split(cel.Value, "(", -1, vbTextCompare)(0)) 'définit la variable l1
    l2 = Len(Split(cel.Value, ")", -1, vbTextCompare)(1)) 'définit la variable l2
    cel.Offset(0, 2).Value = Mid(cel.Value, l1 + 1, (lt - l1 - l2) + 1) 'ecrit dans la colonne C la partie "fixe"
Next cel 'prochaine cellule de la boucle
End Sub
Le fichier:
 

Pièces jointes

  • Stik_v01.xls
    33 KB · Affichages: 75

Discussions similaires

Réponses
2
Affichages
310

Statistiques des forums

Discussions
312 379
Messages
2 087 761
Membres
103 661
dernier inscrit
fcleves