Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Erreur de compilation

ultra60sam

XLDnaute Nouveau
Bonjour à tous,
Je suis débutant dans le monde du vba et je rencontre un problème.
J'ai créé un bouton de sauvegarde pour mes devis, je voudrais que quand je clique sur le bouton enregistrer cela me l'enregistre dans un dossier avec le numéro du devis qui se trouve en R1 et le nom du client en E9. Sauf que quand je vérifie la macro cela me met ce message d'erreur sur la ligne en rouge en surlignant la parti en bleu:

Erreur de compilation: attendu: fin d'instruction

Sub Enregistrer()
Dim extension As String
Dim chemin As String, nomfichier As String
Dim style As Integer
Application.ScreenUpdating = False
ThisWorkbook.ActiveSheet.Copy
extension = ".xlsm"
chemin = "E:\"
MsgBox ThisWorkbook.Path
nomfichier = ActiveSheet.["devis "] & Range#"R1"# & "_" & Range#"E9"# & extension
With ActiveWorkbook
.ActiveSheet.DrawingObjects.Delete
.SaveAs Filename:=chemin & nomfichier
.Close
End With
End Sub

Merci de votre aide.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

il me semble y avoir grosse erreur de syntaxe sur la concaténation du nom de fichier. Ne serait-ce pas plutôt quelque chose comme ça:
VB:
nomfichier = Sheets("devis").Range("R1") & "_" & Sheets("devis").Range("E9") & extension
Ou pour ne pas répéter Sheets("devis"):
Code:
With Sheets("devis")
    nomfichier = .Range("R1") & "_" & .Range("E9") & extension
End With

Bonne soirée
 

ultra60sam

XLDnaute Nouveau
Bonjour Roblochon,
Désolé de répondre que maintenant, mais j'étais en week-end avec la famille. Tout d'abord merci beaucoup de ta réponse.
J'ai bien essayé tes deux façons de faire mais j'ai le même message d'erreur que j'utilise l'une ou l'autre ligne.
Comment puis-je corriger cela à ton avis ?
Merci pour le temps que tu m'accorde.
 

Pièces jointes

  • IMG_20190708_093037.jpg
    759.4 KB · Affichages: 20
  • IMG_20190708_093212.jpg
    942.3 KB · Affichages: 21

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sur des images, difficile de reprérer ce qui ne va pas. Apparement il y a une espace après Devis dans Sheets("Devis "). Ne serait-il pas en trop????
Généralement ce message indique qu'un élément n'existe pas dans une collection (ou tableau) qu'on interroge. Ici je soupçonne la collection "Sheets".

Codialement
 

Discussions similaires

Réponses
7
Affichages
592
  • Question
Microsoft 365 Code VBA
Réponses
10
Affichages
748
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…