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

  • Initiateur de la discussion Initiateur de la discussion stik913
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

stik913

Guest
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 ?
 
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+
 
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...
 
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)
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
885
Réponses
40
Affichages
3 K
Retour