VBA : Commande pour que le titre du fichier enregistré soit un CTRL + V

Bonjour à tous,

Je viens vers vous car j'ai un souci sur une ligne de code VBA (microsoft excel version 2202).

Le contexte :
Il s'agit d'un fichier excel pour la mise en forme automatique de catalogues.
Une fois qu'un catalogue est créé, la macro permet son extraction et son enregistrement, à la bonne adresse, sous le bon format avec un titre unique.

Problématique :
C'est ce titre qui me pose problème, je souhaite que le titre soit unique à chaque catalogue en fonction des informations rentrées par l'utilisateur.

Exemple de titre unique encadré en rouge :

image

Neanmoins je n'arrive pas à trouver la commande pour "collé" le titre au préalablement "coupé" à ce niveau la :

image

Dans la macro, c'est toujours le même titre qui est attribué aux différentes extracts.

La macro VBA :
(Le problème localisé en jaune ci-dessous)

Sub Macro10()

'

' Macro10 Macro

'

Sheets("eCatalogue en construction").Select

Range("A1").Select

Range(Selection, Selection.End(xlToRight)).Select

Range(Selection, Selection.End(xlDown)).Select

Selection.Copy

Sheets.Add After:=ActiveSheet

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Sheets("Tableau de construction").Select

Range("A1").Select

Application.CutCopyMode = False

Selection.Copy

ActiveCell.Offset(0, 1).Range("A1").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = ""

Sheets(4).Select

Sheets(4).Move

ActiveWorkbook.SaveAs Filename:= _

"C:\Users\TO203557\Desktop\Florent \6 - E Catalogue\2 - E Catalogue\Step 1 - Contrat à rentrer\Step 2 - E Catalogue à rentrer\ FOURNISSEUR_Prestation X_18 02 1222_Marie.csv" _

, FileFormat:=xlCSV, CreateBackup:=False

ActiveWindow.Close

End Sub

(Je peux fournir l'excel)

Merci par avance pour votre aide,

Belle journée à tous,

Florent

bonjour,

essaie ceci( non testé), si j'ai bien compris.

    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\TO203557\Desktop\Florent\6 - E Catalogue\2 - E Catalogue\Step 1 - Contrat à rentrer\Step 2 - E Catalogue à rentrer\" & ThisWorkbook.Sheets("tableau en construction").Range("C7") & ".csv" _
        , FileFormat:=xlCSV, CreateBackup:=False

Hello h2so4,

Merci d'avoir pris le temps de regarder mon problème!
Il semble que j'ai toujours le souci sur ma ligne d'enregistrement :

image

(J'ai écourté le chemin d'enregistrement)

re-bonjour,

quel est le message d'erreur ?

ajoute cette instruction avant l'instruction saveas, pour vérifier le nom du fichier.

msgbox thisworkbook.sheets("tableau en construction").range("C7")

Re !

J'ai bien effectué le test, il semble que le problème vienne en effet du nom du fichier de la cellule C7 . (L'erreur vient du code MsgBox, screen ci-dessous)

Ma cellule C7 contient une formule CONCATENER, néanmoins j'ai vérifier avec un deuxieme test ou la cellule C7 contenait une valeur réelle, sans succès.

image

Comme le fichier excel qu'on enregistre est une extraction, faut-il réaiguiller la macro vers l'excel initial : "creation auto ecatalogue heberge proto en service" pour chercher la cellule C7 sur la bonne page "Tableau de construction" ?

bonsoir,

pour la macro, j'ai fait l'hypothèse qu'il faut aller cherche le nom du fichier dans la feuille "tableau en construction" qui se trouve dans le classeur qui contient la macro. L'erreur que tu reçois, indique que cette feuille n'existe pas dans ce classeur. En réalité cette feuille s'appelle "tableau de construction".

donc l'instruction saveas devrait être :

ActiveWorkbook.SaveAs Filename:= _ "C:\Users\TO203557\Desktop\Florent\6 - E Catalogue\2 - E Catalogue\Step 1 - Contrat à rentrer\Step 2 - E Catalogue à rentrer\" & ThisWorkbook.Sheets("tableau de construction").Range("C7") & ".csv" _ , FileFormat:=xlCSV, CreateBackup:=False

tu peux enlever l'instruction msgbox

Hello h2so4,

Super, ça fonctionne parfaitement !

MERCI BEAUCOUP !!

Bonne journée

Rechercher des sujets similaires à "vba commande que titre fichier enregistre soit ctrl"