Bonjour à tous,
Tout jeune débutant en programmation VBA, je cherche une méthode pour pouvoir enregistrer un fichier avec en extension la valeur d'une cellule + la date dans un dossier qui se trouve sur le bureau
Un coup de main SVP
Bonjour à tous,
Tout jeune débutant en programmation VBA, je cherche une méthode pour pouvoir enregistrer un fichier avec en extension la valeur d'une cellule + la date dans un dossier qui se trouve sur le bureau
Un coup de main SVP
Hello,
En supposant que tu as le nom dans la cellule A1.
Places ce code dans un module standar...Puis appele-le par exemple avec un bouton sur ta feuille, comme ceci...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Sub EnregistrerSous() 'Pour si tu annules, qu'il n'affiche pas le message d'erreur On Error Resume Next 'Si tu ne changes pas la cellule A1 (le nom), pour éviter le message '"Un classeur porte déjà ce nom blablabla..." 'On les évite en mettant DisplayAlerts à faux Application.DisplayAlerts = False 'Ou avec le ThisWorkbook.Path qui est le répertoire du classeur courant. 'C'est à dire qu'il va l'enregistrer dans le même dossier que le classeur qui a cette macro. ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" _ & Range("A1").Value & " - " & Date & ".xlsm" 'Ou comme ça en adaptant le chemin. 'ActiveWorkbook.SaveAs Filename:="C:\Users\xxxxxxxxx\Desktop\" _ ' & Range("A1").Value & " - " & Date & ".xlsm" '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> 'Tu peux utiliser ou l'une ou l'autre de ces deux lignes si tu veux fermer le classeur après. 'Attention quitte Excel, donc tous les fichiers Excel ouverts ! 'Application.Quit 'Ferme le fichier. 'ThisWorkbook.Close '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> 'Et on remet à vrai le DisplayAlerts Application.DisplayAlerts = True End SubCdt, Antoniom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub CommandButton1_Click() Call EnregistrerSous End Sub
Bonjour Antoniom,
Tout d'abord merci pour les éléments de réponses proposés
J'ai choisi l'option d'enregistrer le fichier en renseignant le chemin du dossier sur le bureau mais une erreur se produit par rapport à la variable date
Faut-il saisir la date manuellement ou la variable date s'ajuste automatiquement ?
Voici la commande utilisée :
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveWorkbook.SaveAs Filename:="C:\Users\cityone\Desktop\Dépêches" _ & Range("A12:B12").Value & " - " & Date & ".xlsm"![]()
J'ai rencontré le même problème il y a peu, je pense que l'erreur vient du fait que la fonction date te renvoie une valeur qui n'est pas compatible avec le nommage d'un fichier
typiquement quelque chose du genre 27/01/2012 or les / dans les noms de fichier servent à indiquer que l'on change de répertoire.
essaie quelque chose comme
le deuxième argument de la fonction format transforme la date en 27-01 par exemple, ce qui est compatible avec le nommage d'un fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveWorkbook.SaveAs Filename:="C:\Users\cityone\Desktop\Dépêches" _ & Range("A12:B12").Value & " - " & format(Date,"dd-mm") & ".xlsm"
tu peux envisager format(date,"dd-mm-yyyy") si tu veux l'année ou tout autre format de date convenable avec le nommage, c'est à dire avec - ou _ comme caractère spéciaux je dirais..
bonne journée,
marav
Hello Titian, Marav,
Chez moi juste le mot clé Date suffit.
Marav, sauf erreur, je crois qu'avec Date, par défaut, le format est jj.mm.aaaa, mais tu as raison de forcer le format.
Cdt, Antonio.
Salut Messieurs,
J'ai rajouté le format à DATE et puis ça fonctionne
Merci pour l'aide
![]()
Partager