Archiver ne fonctionne pas

Bonjour tout le monde,

dans le fichier ci-joint je sèche un peu.

Lorsque je clique sur le bouton Archive de l’onglet CAT je souhaiterai qu’il archive mon fichier en lui donnant le Nom, le Range B2 et le Range C2.

Or, si je modifie la ligne comme ceci

  Rep & Nom & " " & Range("B2") & " " & Range("C2") & ".pdf", Quality:= _
  xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  OpenAfterPublish:=False  'enregistrement du fichier en PDF

cela me donne une erreur en me mettant tout ce bloc en jaune

Pourriez vous s’il vous plaît m’indiquer l’erreur commise .

Merci d’avance à vous.
Rubis
Rubis57 VBA Archives.xlsm (15,5 Ko)

Bonjour Rubis
J’ai constaté avec plaisir l’issus finale avec ton choix de te rallier à ma perception de la meilleur option quant à l’évolution souhaitée sur ton dossier « Format du combobox »
Certes si les évolutions Excel ont du confort et de la sécurité dans l’utilisation des fichiers j’en conviens elles sont souvent des handicaps et des gènes surtout pour des utilisateurs bien habitué à oeuvrer en leur absence
D’où mon acharnement à conserver au mieux l’univers dans lequel ils évoluent et d’adapter mes propositions dans cette optique
J’espère que toi tu est compréhensif d’une telle démarche
Pour ce qui te préoccupe ici tu cherches à enregistrer un pichier pdf ayant comme libellé :

Nom = « CAT »
Range(« B2 ») = « SEMAINE N° 51 »
Range(« C2 ») = « CAT DE LA SEMAINE DU 16/12/2024 AU 22/12/2024 »

ici :

& Nom & " " & Range(« B2 ») & " " & Range(« C2 »)

Saches que certains caractères dans l’appellation d’un fichier d’un répertoire ne sont pas autorisés comme celui-ci : « / »

Donc cette partie de ce nom :

« CAT DE LA SEMAINE DU 16/12/2024 AU 22/12/2024 »

ne peut être utilisé

Si je change « / » par « - » plus de soucis

« CAT DE LA SEMAINE DU 16-12-2024 AU 22-12-2024 »

Tu peux opter pour un autre mais pas "*", "\" etc …

A tester pour voir celui qui convient

A ta disposition pour t’aider

Bonjour,

Merci pour le retour.

Alors il y a un petit soucis. L’inscription en cellule C2 se fait via un UserForm, alors faut-il changer le code de ce dernier ?
Voici la ligne du code qui fait cette inscription

  Wd.Range("C2") = "CAT DE LA SEMAINE DU " & Me.TextBox3 & " AU " & Me.TextBox4

les textbox 3 et 4 ont ces codes ci-dessous

  Me.TextBox3.Value = CDate(Me.TextBox1.Value) 

Me.TextBox4.Value = CDate(Me.TextBox3.Value) + 6

est-ce que cela sufft pour m’aider ?

Remplace cette ligne de code :

Wd.Range("C2") = "CAT DE LA SEMAINE DU " & Me.TextBox3 & " AU " & Me.TextBox4

Par celle-ci :

Wd.Range("C2") = "CAT DE LA SEMAINE DU " & Replace(Me.TextBox3,"/","-") & " AU " & Replace(Me.TextBox4,"/","-")

J’ai mis une instruction Replace pour changer le caractère interdit dans le nom d’un fichier « / » par un caractère autorisé « - »
Tu peux opter pour un autre si tu le souhaites pourvu que celui-ci soit utilisable dans ce type de libellé

Sinon dans le fichier que tu m’as transmis on peut utiliser cette même opération dans la ligne d’instruction qui enregistre le fichier pdf en utilisant la donnée de la cellule « C2 » :

ActiveSheet.Range("B2:I29").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
  Rep & Nom & " " & Range("B2") & " " & Replace(Range("C2"), "/", "-") & ".pdf", Quality:= _
  xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  OpenAfterPublish:=False


plus précisément cette partie :

Replace(Range("C2"), "/", "-")

Changes de caractère de substitution si le « - » ne te convient pas par un qui est admissible dans un libellé de fichier

A toi de voir

Ton fichier ci-joint ainsi adapté

Rubis57 VBA Archives.xlsm (17,6 Ko)

1 « J'aime »

Re,

j’ai donc opté pour cette dernière proposition et cela fonctionne très bien. :+1:

Merci à toi d’avoir pris le temps pour ma demande.

A propos du dossier " Format du Combobox " cela fonctionne également très bien. :+1:

et oui je le suis.

Donc a une prochaine fois certainement.

Rubis

Merci merci
Ravi que cela te convienne et fonctionne
Au plaisir de te retrouver