sauvegarde documents

julie999

XLDnaute Occasionnel
Bonjour
j'ai besoin svp d'une petite aide pour un code vba
j'utilise ce code pour sauvegarder une feuille excel avec du texte et une date contenue dans une cellule h40 avec un format spécifique qui fonctionne parfaitement
mais je ne trouve l'astuce pour enregistrer en plus dans le nom du fichier le contenu de la cellule m2 de la même feuille

merci de votre aide
Julie

voici le code actuel
Sheets("AFIBEL").Copy
ChDir "C:\Archives séquentiel AFIBEL"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & "Relevé Séquentiel AFIBEL du " & _
Format(Worksheets("AFIBEL").Range("h40"), "d\-mm\-yyyy hh mm ss") & ".xlsx"
 

chris

XLDnaute Barbatruc
Re : sauvegarde documents

Bonjour

Selon où doit s’insérer cette valeur et selon son contenu textuel ou non, à placer entre 2 &
Worksheets("AFIBEL").Range("m2")
éventuellement imbriqué dans un FORMAT si numérique...
 

gilbert_RGI

XLDnaute Barbatruc
Re : sauvegarde documents

Bonjour,

ActiveWorkbook.SaveAs chemin & "Relevé Séquentiel AFIBEL du " & Format(Worksheets("AFIBEL").Range("h40"), "d-mm-yyyy hh mm ss") & "-" & Worksheets("AFIBEL").Range("m2") & ".xlsx"
attention aux caractères interdits

Caractères interdits dans les noms de fichiers Windows

Conventions et limitations dans le système de fichiers NTFS (" NT File System " - " New Technologie File System "), à partir de Windows NT en 1993 :

  • Nom suivi d'une extension éventuelle, séparée par un "." (un point)
    Longueur maximale du nom d'un fichier : 255 caractères, extension incluse (mais, en ligne de commande, comme par exemple dans la boîte d'invite de commande, vous ne pouvez créer que des noms de fichiers comportant au maximum 253 caractères).
  • Nombre de sous-niveaux maximum : 15
  • Longueur maximale du chemin d'accès complet à un fichier : 260 caractères (limite imposée par le shell de Windows - en théorie, la longueur maximale " approximative " [SUP](Ce lien n'existe plus)[/SUP] d'un chemin d'accès complet est de 32.767 caractères).
  • Le caractère antislash ( backslash - \ ) est le séparateur de chemins
  • Les caractères suivants sont réservés pour des usages spéciaux et ne doivent pas être utilisés dans le nom lui-même :
    • < (plus petit que; less than)
    • > (plus grand que; greater than)
    • : (deux points; colon)
    • " (double appostrophe; double quote)
    • / (slash; barre de fraction; forward slash)
    • \ (antislash; backslash)
    • | (barre verticale; vertical bar; pipe)
    • ? (point d'interrogation; question mark)
    • * (astérisque; asterisk)
  • Les caractères non imprimables (les valeurs binaires dans l'intervale 00 à 31) sont interdits. Toutefois, les caractères de l'intervale binaire 01 à 31 peuvent être utilisés dans le nommage des chaînes Ce lien n'existe plus (Fichiers totalement cachés attaché à un fichier visible).
  • .\ représente le répertoire courant
  • ..\ représente le répertoire parent
 
Dernière édition:

julie999

XLDnaute Occasionnel
Re : sauvegarde documents

oups
j'ai oubliée de vous mettre la premiere ligne du chemin

Sheets("AFIBEL").Copy
ChDir "C:\Archives séquentiel AFIBEL"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & "Relevé Séquentiel AFIBEL du " & _
Format(Worksheets("AFIBEL").Range("h40"), "d\-mm\-yyyy hh mm ss") & ".xlsx"

c'est apres yyy hh mm ss") qu'il faut mettre contenu de la cellule m2
mais je but dessus
julie
 

julie999

XLDnaute Occasionnel
Re : sauvegarde documents

Sheets("AFIBEL").Copy
ChDir "C:\Archives séquentiel AFIBEL"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs chemin & "Relevé Séquentiel AFIBEL du " & _
Format(Worksheets("AFIBEL").Range("h40"), "d\-mm\-yyyy hh mm ss") & Worksheets("AFIBEL").Range("m2") &".xlsx"

celui ci ne passe pas non plus
personne n'a une idée svp
julie
 

chris

XLDnaute Barbatruc
Re : sauvegarde documents

RE
Coucou Gilbert :), herve62 :)

Si la solution de Gilbert ne marche pas c'est soit un erreur de copie soit un texte qui contient des caractères inappropriés...

Y a t-il un message d'erreur et si oui lequel ?

Une légère variante

ActiveWorkbook.SaveAs chemin & "Relevé Séquentiel AFIBEL du " & _
Format(Worksheets("AFIBEL").Range("h40"), "d\-mm\-yyyy hh mm ss") & "-"& Worksheets("AFIBEL").Range("m2") & ".xlsx"
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : sauvegarde documents

Bonjour Tous , Slt Chris !
Julie :
A ce moment là il faut contourner comme cela :
Code:
chemin = "C:\DATA"
jou = Day(Range("H40").Value)
mois = Month(Range("H40").Value)
an = Year(Range("H40").Value)
ext = jou & "-" & mois & "-" & an
ActiveWorkbook.SaveAs Filename:=chemin & "fichier du " & "\" & ext

J'ai testé , cela fonctionne ( pour une cellule au format date), on peut modifier si on veut l'heure ...etc c'est lié au format de la cellule
 

Discussions similaires

Réponses
3
Affichages
415
Réponses
2
Affichages
274

Statistiques des forums

Discussions
312 489
Messages
2 088 851
Membres
103 974
dernier inscrit
chmikha