Macro - Enregistrer Fichier Avec Nom de Cellule (Sans Saut de Ligne)

Bonsoir,

J'aimerai savoir si cela était possible d'enregistrer un fichier par macro en utilisant le nom d'une cellule en supprimant les sauts de lignes ?

Merci d'avance

Bonjour,

en supposant que la cellule est A1

nom = Range("A1").Value

Merci pour ta réponse i20100

Le problème c'est que cela me génère une erreur lors de l'enregistrement car il faudrait supprimer le retour paragraphe car cela ne peut pas être utilisé dans un nom de fichier... j'ai cherché sur le net mais je ne trouve pas de solutions

re,

normalement en spécifiant .value,

le retour à la ligne n’apparaît pas dans la variable nom

as-tu fais le test ?

Je vais faire un essai et je reviens vers toi pour te dire

Merci encore pour ton aide !

Je viens d'essayer et cela me marque un message d'erreur j'ai aussi tenté de mettre qu'une ligne sur cette cellule et cela fonctionne mais dès qu'il y a plusieurs lignes ça plante...

re,

peux-tu montrer ce qu,il y a dans la cellule ?

Bonjour,

En fait ma cellule est une adresse client :

NOM DU CLIENT 'en rouge'

ADRESSE 'en noir'

CODE POSTAL + VILLE 'en noir'

Sauf qu'il peut y avoir plusieurs lignes pour le nom du client et une seule ligne pour l'adresse ou vice-versa...

J'aimerai récupérer le nom du client se trouvant dans cette cellule et l'utiliser pour enregistrer un fichier. Peut-être que cela est possible avec la couleur ?

Merci de votre aide !

J'ai trouvé du côté de Characters.Caption mais je ne sais pas si on peut choisir des propriétés comme la couleur ?

re,

assures-toi que le texte ne contienne pas de caractères interdit,

Les caractères suivants sont réservés pour des usages spéciaux et ne doivent pas être utilisés dans le nom d'un fichier, d'un répertoire ou le nom d'un onglet :

< (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)

Finalement j'ai isolé le NOM DU CLIENT dans une cellule (plus simple)

Par contre je pense que le problème vient du fait qu'il y a un retour à la ligne Chr(10) Alt+Entrée dans la cellule.

Est-ce qu'en spécifiant .Value cela supprime les Chr(10) ?

Merci

J'ai trouvé ce bout de code :

For Each MyRange In ActiveSheet.UsedRange
        If 0 < InStr(MyRange, Chr(10)) Then
            MyRange = Replace(MyRange, Chr(10), "")
        End If
    Next

Est-il possible de l'adapter sur le nom du fichier pour supprimer les retours chariots ?

fichier = Sheets("Feuille1").Range("C1").Value".xlsx"
With ActiveWorkbook: .SaveAs chemin & fichier: .Close: End With

J'ai trouvé ce que je cherchais mais je n'arrive pas à l'appliquer pour le mettre seulement dans le nom du fichier enregistré...

Range("C1").Value = Application.WorksheetFunction.Substitute(Range("C1"), Chr(10), " ")

Désormais ça m'enlève bien les retours chariots et du coup j'aimerai avoir ce résultat comme nom de fichier pour la sauvegarde.

fichier = Range("C1").Value & ".xlsx"
With ActiveWorkbook: .SaveAs chemin & fichier: .Close: End With
Rechercher des sujets similaires à "macro enregistrer fichier nom saut ligne"