Erreur de code vb pour un enregistrement

bellenm

XLDnaute Impliqué
Bonjour à tous,

je cherche en vain depuis plusieurs jour pour finaliser ce bout de code :
VB:
  NomFichier = Replace(Range("y63").Value & ":" & Range("w103") & "-" &  Range("z103"), " ", "")
qui fait partie d'une macro
Code:
Sub ZoneImpressionEnPdfMacroChoix4()
Dim ImprActuelle As String, ImprNouv As String, NomFichier As String, ws As Worksheet, Imprimer

Set ws = Worksheets("F4") 'la feuille
ws.PageSetup.PrintArea = "$B$63:$aa$117" ' les cellules

Imprimer = MsgBox("Voulez-vous imprimer (répondre oui) ou créer un pdf (répondre non) ?", vbYesNo)
    If Imprimer = vbYes Then
        'Sub IMPRIMER_Papier() 'placer ici le code qui va bien : regarde le message #3 tu as pratiquement tout ce qu'il faut dedans
ActiveSheet.PrintPreview
    '    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
        'End Sub

Else
     chemin = ThisWorkbook.Path & "\"
     ' NomFichier = Replace(Range("y63").Value, " ", "")
   NomFichier = Replace(Range("y63").Value & ":" & Range("w103") & "-" & Range(z103), " ", "")

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
   chemin & NomFichier, Quality:=xlQualityStandard, _
   IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
  False
End If

End Sub
En fait ce que j'aurais aimé pour le nom de nom fichier ces des données dans trois cellule différente:
"Y63" (référence de rencontre) + ":" (séparateur) + "W103" (résultat visiteur) + "-" (séparateur) + "Z103" (résultat visité)
PS: le code fonctionne si je laisse la ligne NomFichier = Replace(Range("y63").Value, " ", "") sans le ' et que je le rajoute sur la ligne suivante puisque je teste ce code pour simplifier sa classification future.

Mais ca coince dans mon code certainement pas correct.

Merci de bien vouloir m'aider ;)
MB
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Bellenm, bonjour le forum,

Les deux points ":" font partie des caractères interdits dans le nom d'un fichier. Donc c'est mort !...
Il manque les guillemets à Range(z42). Pourquoi un Replace ?
Je verrais bien :

VB:
NomFichier = Range("Y63").Value & "-" & Range("W42").Value & "-" & Range("Z42").value
 

bellenm

XLDnaute Impliqué
re Robert, en effet j'ai bien vu le - mais deux fois pourrait porter à confusion car le fichier devra être envoyé avec comme mention la réfèrence du matche et son résultat donc : A 112-5-3 c'est moins clair que A 112=5-3

Merci beaucoup avec cette modification tu m'a permis d'avancé.

BAT

Marc
 

Discussions similaires

Réponses
7
Affichages
592
  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
748

Statistiques des forums

Discussions
315 111
Messages
2 116 340
Membres
112 721
dernier inscrit
Ulricn