Macro SaveCopyAs avec options

Bonjour,

J'utilise une macro pour créer une copie du classeur :

Sub CommandButton1_Click()

Dim nom As String

    nom = "CR Visite " & "[" & Range("C3") & "] " & "[" & Format(Date, "dd-mm-yyyy") & "]" & ".xls"
    ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\Compte-rendus visites\" & nom
    rep = MsgBox("Le compte-rendu est maintenant sauvegardé dans le dossier 'Compte-rendus visites' sous le nom : " & nom, vbYes + vbInformation, "Sauvegarde de la visite")

End Sub

Elle fonctionne bien mais :

1) le classeur source étant un .xlsm, la sauvegarde en .xls ne s'ouvre qu'avec un message d'alerte "Format différent de celui spécifié par l'extension... Voulez-vous continuer". Comment éviter ce message ? Dois-je utiliser une fonction "exporter" ?

2) si je tiens au .xls, c'est aussi parce que j'aimerai que ma sauvegarde soit dépourvue des boutons et macros du classeur d'origine. Comment faire en sorte que ma copie soit vierge des macros sources ?

3) Enfin j'aimerai ajouter une condition, pour que le fichier de sauvegarde ne soit créé que si la cellule C3 est renseignée, valeur qui rentre dans le nom du fichier sauvegarde (cf. macro plus haut). Est-ce possible ?

Merci à tous de votre aide car j'ai beau cherché sur le net, je galère...

infqm.

Bonsoir,

Pour ne pas afficher un message :

Application.DisplayAlerts = False

Pour enregistrer le fichier sans macro : l'enregistrer en xlsx (Excel 2007 sans macro) à la place de xls (Excel 2003 avec ou sans macro, sans distinction).

Et pour le dernier point :

    If Range("C3") = "" Then
        MsgBox "Renseigner C3 !", vbExclamation
        Exit Sub
    End If

A tester ...

Bonne soirée

Bouben

Merci Bouben, grâce à toi j'avance...

Mais j'y suis pas encore.

1) En .xlsx, c'est pire, le fichier ne s'ouvre pas "format ou extension non valide" Je pense que c'est peut-être le fait de passer du .xlsm à une autre extension qui fait un peu foirer le process non ? En fait ce que je veux c'est carrément faire disparaître mon bouton de macro sur le fichier de sauvegarde.

2) ok pour le DisplayAlert mais là c'est à l'ouverture d'un fichier qui vraisemblablement ne s'est pas enregistré convenablement (cf. point 1)

3) Intéressant ton code. Cela marche bien si je le place au début de ma macro. Mais dès que je protège ma feuille, j'ai une erreur 400

Up.

Merci de votre aide =/

Rechercher des sujets similaires à "macro savecopyas options"