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

Gérer les conflits lors d'un "Enregistrer sous"

  • Initiateur de la discussion Initiateur de la discussion Troudz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Troudz

XLDnaute Occasionnel
Bonsoir tout le monde,

Je suis en train de créer une commande qui permette à l'utilisateur de sauvegarder une partie d'une classeur dans un nouveau fichier. Je laisse donc à l'utilisateur la possibilité de choisir le chemin de destination puis je lance la copie.

Mon soucis est que, si le nom choisi existe déjà et que l'utilisateur refuse d'écraser le fichier existant, le code me renvoi une erreur.

Comment puis je faire pour cela annule tout simplement l'enregistrement ?

Je vous remercie par avance pour votre aide.

Mon code :

Code:
Private Sub CommandButton4_Click()
    Dim NouveauClasseur As Workbook
    Dim FichierDest As Variant
    FichierDest = Application.GetSaveAsFilename(FileFilter:="Fichiers Excel (*.xls),*.xls", Title:="Destination de l'enregistrement")
    If FichierDest <> False Then
        Application.ScreenUpdating = False
        ThisWorkbook.Sheets("Toto").Cells.Copy
        ThisWorkbook.Sheets("Toto").Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        ThisWorkbook.Sheets("Titi").Cells.Copy
        ThisWorkbook.Sheets("Titi").Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        ThisWorkbook.Sheets(Array("Toto", "Toto")).Copy
        Set NouveauClasseur = ActiveWorkbook
        NouveauClasseur.SaveAs FichierDest
        NouveauClasseur.Close False
        Application.ScreenUpdating = True
     End If
End Sub
 
Re : Gérer les conflits lors d'un "Enregistrer sous"

bonsoir,
j'essayerai deux choses
la plus simple un "on errore resume next"
et sinon de demander avant l'enregistrement avec une msgbox que l'utilisateur veuille bien écraser le fichier sinon il répond annulé ou non
tu peux le gérer avec

select case msgbox("ton texte",vbyesno)

case vbyes
goto line 1 'la reprise de ta macro tu auras mis line1 en début de ligne

case vbno
exit sub
end select

Ce n'est peut être pas la solution que tu attendais mais on fait selon ses moyens et les miens sont limités.
bonne soirée
 
Re : Gérer les conflits lors d'un "Enregistrer sous"

Bonjour,

peut être avec ceci :
Code:
Application.DisplayAlerts = False
NouveauClasseur.SaveAs FichierDest
Application.DisplayAlerts = True
l'utilisateur n'aura pas la boite de dialogue comme quoi le fichier existe déjà.... on peut supposer qu'il le sait puisque c'est lui qui a choisi le chemin et nom fichier.....

bonne journée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
549
Réponses
17
Affichages
1 K
Réponses
2
Affichages
892
Réponses
4
Affichages
882
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…