macro et fermeture d'un fichier

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 !

al1000

XLDnaute Impliqué
Bonjour,


voici ma macro pour ouvrir le fichier:
Workbooks.Open Filename:="Z:\ETUDE 38.xls"

et la macro pour fermer:
Workbooks("ETUDE 38.xls").Close savechanges:=false


mais le fichier peut s'appeler ETUDE 38, ETUDE 39 puis etc en fonction des semaines


comment écrire une macro ou un fichier change de nom chaque semaine?


a+
 
Re : macro et fermeture d'un fichier

Bonjour al1000,

Voici l'instruction pour récupérer le n° de semaine de la date du jour :
DatePart("ww", Now())

Ensuite, tu peux construire le nom de ton fichier de la manière suivante :

dim strNomFichier as String
strNomFichier = "Etude " & CStr(DatePart("ww", Now())) & ".xls"

J'espère que cela te convient.

A+
 
Re : macro et fermeture d'un fichier

al1000 à dit:
Bonjour,

je suis la piste mais il m'indique apres 😀atePart("ww", Now())
attendu : expression


pourquoi?
Salut
Soit erreur d'écriture
Vérifie tes parenthèses ouvrantes et fermantes, il doit t'en manquer une, ou les guillemets.

Qaund j'ai des problèmes de ce type et que je ne trouve pas, je construis ma formule petit à petit soit directement soit dans une macro test du genre
Sub test
dim strNomFichier as String
strNomFichier =CStr(DatePart("ww", Now()))
end sub
je met le curseur dans la macro, et je l'exécute avec F8 en mode pas-à-pas

si ça marche, tu ajoutes les valeurs
Sub test
dim strNomFichier as String
strNomFichier =CStr(DatePart("ww", Now())) & ".xls"
end sub

si ça marche pas, tu réduit
Sub test
dim strNomFichier as String
strNomFichier = DatePart("ww", Now())
end sub

si ça marche pas, tu modifies

mets ton code ici, on pourra sans doute te dire l'erreur : quand tu crées un code, tu es souvent incapable de voir l'erreur, parce que tu ne lis pas réellement ce que tu as marqué, mais ton cerveau interpréte directement le code en le transformant en ce que tu penses avoir écrit : c'est con, mais souvent vrai. Surtout quand ça buggue. Quand ça m'arrive, que je ne trouve pas, je fais autre chose, ou je demande à quelqu'un d'autre de regarder.

A+

PS le CStr n'est pas nécessaire, Excel arrive à interpréter un nombre comme des chiffres quand tu l'associes à du texte
 
Re : macro et fermeture d'un fichier

Bonjour,

Dans le fichier Excel, j'ai créé une macro pour afficher le nom du fichier avec le n° de semaine et cela fonctionne.

Si tu as toujours une erreur, envoie moi une partie de ton fichier et je regarderai.

A+
 
Dernière édition:
Re : macro et fermeture d'un fichier

bonsoir,

voici ma macro qui marche :

Workbooks.Open Filename:="L:\imp\Prés 38.xls"

Sheets("KING1").Select
'

Sheets("KING1").Copy Before:=Workbooks("besoins.XLS").Sheets(1)
Sheets("besoins").Select
Range("H5").Select



End Sub

mais j'ai un petit probleme car le fichier change de nom chaque semaine
cette semaine il se nomme Prés 38.xls" puis la semaine prochaine Prés 39.xls"


comment faire pour ne pas reecrire la macro chaque semaine

a+
 
Re : macro et fermeture d'un fichier

Bonjour

une possibilité : demander le numéro de la semaine

sem=inputbox("Quel numéro de semaine")
if not isnumeric(sem) then msgbox "nombre entre 1 et 53 obligatoire":exit sub
if sem<1 or sem>53 then msgbox "nombre entre 1 et 53 obligatoire":exit sub
Workbooks.Open Filename:="L:\imp\Prés " & sem & ".xls"

non testé
 
Re : macro et fermeture d'un fichier

al1000 à dit:
bonsoir,

voici ma macro qui marche :

Workbooks.Open Filename:="L:\imp\Prés 38.xls"

Sheets("KING1").Select
'

Sheets("KING1").Copy Before:=Workbooks("besoins.XLS").Sheets(1)
Sheets("besoins").Select
Range("H5").Select



End Sub

mais j'ai un petit probleme car le fichier change de nom chaque semaine
cette semaine il se nomme Prés 38.xls" puis la semaine prochaine Prés 39.xls"


comment faire pour ne pas reecrire la macro chaque semaine

a+
salut
Workbooks.Open Filename:="L:\imp\Prés " & DatePart("ww", Date) & ".xls"
ou
Workbooks.Open Filename:="L:\imp\Prés " & Format(Date, "ww") & ".xls"

A+
 
Re : macro et fermeture d'un fichier

Bonjour

fais une recherche sur le forum avec "numéro de semaine"

en fait nous avons un enorme ISO qui dit que la semaine commence le lundi et qu'il faut je crois 4 jours pour que ce soit la semaine 1 (une année où le 1er janvier est un samedi, la semaine 1 commence le 3 janvier)

l afonction Excel ne calcule pas selon cette norme
 
- 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

Discussions similaires

Réponses
2
Affichages
384
Retour