Ouverture d'un fichier "semaine" contenant une ponctuation
Mesdames, Messieurs bonjour,
Tout d'abord je me présente.
Quentin, 21 ans. Je commence un peu à toucher à excel, mais comme tout bon débutant je tatonne, je tente des trucs. J'en réussi certains, et j'en rate beaucoup.
Enfin bref je vous explique plus précisément mon souci :
Voilà quelques temps déjà j'avais demandé de l'aide pour faire une macro permettant d'ouvrir des fichiers hebdomadaires. Cette macro sert donc à recomposer un le nom d'un fichier en y ajoutant le numéro de la semaine.
Mais voilà un nouveau souci qui se pose, et dont je pense connaître l'origine : Mon fichier excel à ouvrir contient un point "."
Et d'après ce que j'ai pu voir cela bloque l'ouverture du dossier.
J'ai donc tenté des modifications diverses et variées mais aucune n'aboutit au résultat escompté.
Voilà le code
Option Explicit
'Le dossier devra être adapté à la configuration locale
Public Const Dossier As String = "C:\Users\Quentin\Desktop\PLANNING\"
Sub OuvertureMois()
'Recompose le nom du fichier du mois courant et l'ouvre
Dim FichierMois As String
Dim MoisActu As String
Dim Retour As Boolean
MoisActu = Month(Date)
'A adapter au cas pratique
'Ici le numéro du mois sera toujours sur 2 chiffres Ex:04
FichierMois = "Planning-" & Right("0" & MoisActu, 2)
'Appel fonction d'ouverture fichier
Retour = OuvertureClasseur(Dossier, FichierMois)
If Not Retour Then
MsgBox "Planning mensuel non trouvé, merci de l'initialiser"
Exit Sub
End If
'Suite du traitement si tout est ok
'Bla, bla , bla
End Sub
Sub OuvertureSemaine()
'Recompose le nom du fichier de la semaine courante et l'ouvre
Dim LundiRef As String
Dim Semaine As String
Dim FichierHebdo As String
Dim Retour As Boolean
'Référence du lundi Sem 1 de l'année courante
LundiRef = "31/12/2012"
Semaine = Right("0" & DateDiff("ww", LundiRef, Date) + 1, 2)
FichierHebdo = "Semaine-" & Semaine
'Appel fonction d'ouverture fichier
Retour = OuvertureClasseur(Dossier, FichierHebdo)
If Not Retour Then
MsgBox "Rapport hebdo non trouvé, merci de l'initialiser"
Exit Sub
End If
'Suite du traitement si tout est ok
'Bla, bla , bla
End Sub
Function OuvertureClasseur(Chemin As String, Nom As String) As Boolean
'Ouverture d'un classeur Nom, situé dans l'arborescence Chemin
'Retour de fonction OK et messagerie intégrée
'Vérification Existance chemin
If Dir(Chemin, vbDirectory) = "" Then Exit Function
'Vérification Fichier
If Dir(Chemin & "\" & Nom & ".xl*") = "" Then Exit Function
Workbooks.Open Filename:=Chemin & "\" & Nom
OuvertureClasseur = True
End FunctionOui il est long, désolé mais je veux pas le couper de peur d'enlever un élément important.
Voilà ici le nom est "Semaine-" pour la partie OuvertureSemaine. Si il se nommait "1. Semaine -" par exemple, comment faire fonctionner la macro ?
Même question pour l'OuvertureMois...
Bon ben désolé de vous embêter, grosse curiosité et bon côté pratique pour moi si vous arrivez à m'aider.
Merci d'avance et à très vite
Désolé, je remonte juste le post je vois qu'il est pas mal descendu.
Bonsoir
Comme ton nom comporte un . (point) tu es obligé de marquer l'extension lors de l'ouverture
Workbooks.Open Filename:=Chemin & "\" & Nom & ".xls"Salut Banzai64, Tout d'abord merci de ta réponse.
Et deuxièmement, je pense m'être mal expliqué,le point en question se trouve en rouge dans le nom suivant : "1. Semaine -" .
C'est ce point la qui me pose soucis, l'extension du fichier ne pose aucun problème actuellement.
Merci encore
Bonjour
Un fichier serait surement utile en y détaillant la démarche à suivre afin d'arriver au plantage
Re-Bonjour Banzai,
Suite à ton message j'ai tenté plusieurs choses avant d'arriver à résoudre le souci :
If Dir(Chemin & "\" & "1." & Nom & ".xl*") = "" Then Exit Function
Workbooks.Open Filename:=Chemin & "\" & "1." & Nom & ".xls"
OuvertureClasseur = True
End FunctionVoilà ce qu'il fallait faire.
Désolé pour ne pas t'avoir répondu de la journée, je n'ai pas accès au net au bureau.
Deuxièmement désolé de ne pas t'avoir joint de fichier, étant nouveau sur le forum je ne pensais pas que ça se faisait ici.
Merci pour ton aide, tu m'as mis sur la bonne voie !
A très bientôt !