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

Plus de boite de dialogue lors d'enregistrement vba

matthieu2701

XLDnaute Occasionnel
Bonjour,

J'ai créé une macro qui s'appelle Enregistrer_Classeur. Cette macro permet d'enregistrer le fichier excel dans un dossier définit du réseau.

J'ai ajouté à chaque macro, la fonction Call Enregistrer_Classeur. Comme ca à chaque fois que l'on fais une action, le fichier s'enregistre.

J'aurais besoin de vous sur deux points :

- J'aimerais, aussi, qu'il s'enregistre à la fermeture du fichier.

- Comment éviter l'apparition de la boite de dialogue suivant : "Le fichier existe déjà, voulez vous le remplacer ?".

Merci de votre aide.
 

Pièces jointes

  • Calcul.xls
    457.5 KB · Affichages: 59
  • Calcul.xls
    457.5 KB · Affichages: 58
  • Calcul.xls
    457.5 KB · Affichages: 58
Dernière édition:

matthieu2701

XLDnaute Occasionnel
Re : Plus de boite de dialogue lors d'enregistrement vba

J'ai trouvé la solution

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayAlerts = False

With Sheets("Echéancier")
    Nom = .Range("B2")
    PCE = .Range("G6")
End With

'NNI des agents
'Marignane
Matthieu = "b90570"
Yacine = "J03455"
Sophie = "d41254"
Maxence = "J33056"
Remi = "f02756"
Camille = "c60772"
Cindy = "cm0d924n"
Sarah = "ss0c0can"
Priscilla = "d91472"
Zoe = "F90572"
Elodie = "d04673"
Virginie = "VR023B1N"
Daniel = "h86540"
Nathalie = "b22929"
Alexandre = "i62338"
Stephane = "a06745"
Florent = "C65470"

'Nimes
Fabienne = "f74844"
Claudia = "j88653"
Magali = "J37249"

'Recherche de l'utilisateur qui a ouvert la session
utilisateur = Environ("username")
Select Case utilisateur

Case Matthieu, Yacine, Sophie, Maxence, Remi, Camille, Cindy, Sarah, Priscilla, Zoe, Elodie, Virginie, Daniel, Nathalie, Alexandre, Stephane, Florent
    chemin = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours" & "\" & Nom & " " & PCE
    fichier = "Q:\AAGP2\PDD GAZ\PDD\Dossiers PDD\En cours" & "\" & Nom & " " & PCE & "\" & Nom & " " & "Gaz-Perd.xlsm"
Case Fabienne, Claudia, Magali
   chemin = "Q:\AAG\DOSSIERS NUMERIQUES PDD" & "\" & Nom & " " & PCE
   fichier = "Q:\AAG\DOSSIERS NUMERIQUES PDD" & "\" & Nom & " " & PCE & "\" & Nom & " " & "Gaz-Perd.xlsm"

End Select

If Nom = "" Or PCE = "" Then
Exit Sub
End If

If Dir(chemin, vbDirectory) = "" Then
MsgBox "Le dossier numérique de " & Nom & " " & PCE & " n'a pas été créé. Veuillez le créer puis recommencer.", vbCritical, "Attention"
Exit Sub
End If

 If Dir(fichier, vbNormal) <> "" Then
      Reponse = MsgBox("Le classeur de " & Nom & " existe déjà." & vbLf & vbLf & _
                       "Confirmez-vous son remplacement ?", vbYesNoCancel, "Attention")
      If Reponse = vbNo Then
      Application.Quit
      Exit Sub
       End If
       If Reponse = vbCancel Then
       Cancel = True
       Else
       Sheets("Echéancier").Range("K4").Value = Format(Now, "dddd dd mmmm yyyy / h:mm")
       ActiveWorkbook.SaveAs Filename:=fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
             Exit Sub
       End If
 End Sub

C'était le ThisWorkbook.Close Savechanges:=False qui générer la double confirmation.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…