Sauvegarde automatique d'un classeur excel

Signaler
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007
-
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007
-
Bonjour, à toute et à tous

Je souhaite effectuer la sauvegarde par N° de semaine d’un classeur Excel dans un même dossier après une demande de confirmation par oui ou non dans une pop-up.




Mon problème  : Je dois créer un nouveau classeur pour la Save à chaque confirmation par oui,  et celui-ci est vide.


À la demande d’enregistrement si je confirme par NON, on me demande quand même d’enregistrer.


Après l’enregistrement une erreur (1004 définis par l’application ou par l’objet) apparaît dans visual basic.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




Private Sub Workbook_Open()


MsgBox "Ne pas oublier de sauvegarder dans le dossier save TN !"



 Dim Msg, Style, Title, Help, Ctxt, Response, MyString


Msg = "Souhaitez-vous enregistrer?"    ' Définit le message.


Style = vbYesNo + vbCritical + vbDefaultButton2    ' Définit les boutons.


Title = "pour enregistrer clic sur yes "    ' Définit le titre.


Help = "DEMO.HLP"    ' Définit le fichier d'aide.


Ctxt = 1000    ' Définit le contexte de



                ' la rubrique.


' Affiche le message.


Response = MsgBox(Msg, Style, Title, Help, Ctxt)


If Response = vbYes Then    ' L'utilisateur a choisi Oui.



    MyString = "Oui"    ' Effectue une action.


Else: Reponse = vbNon    ' L'utilisateur a choisi Non.



    MyString = "Non"    ' Effectue une action.


End If


Set NewBook = Workbooks.Add


Do



    fName = Application.GetSaveAsFilename


Loop Until fName <> False


fileSaveName = Application.GetSaveAsFilename( _



    fileFilter:="Text Files (*.txt), *.txt")


If fileSaveName <> False Then



    MsgBox "Save as " & fileSaveName


End If



 




'Sauvegarde la copie


ActiveWorkbook.SaveAs "C:\user\P520267\modif audit\save TN\Semaine TN.xls"


'Ferme le classeur sauvegardé


ActiveWorkbook.Close True



 




End Sub



 




Dans le même classeur je souhaite enregistrer dans un autre onglet le nombre de sélection d’un mot dans le menu déroulant de chaque cellule d’une colonne.


Ma formule =NB.SI('DETAIL DES ANOMALIES TN'!$D$29;"*SECURITE*") Cela fonctionne mai si je sup le mot dans le menu déroulant tous revient à zéro.






APPLICATION

,

AUDIT COMPLET

,

----

08 - AUDIT COMPLET

,

1

,

----

 

,

 

,

----

 

,

 

,

----

 

,

 

,

----

 

,
 


 




Mes connaissances dans ce langage sont très très limité.



 




Merci merci pour votre aide.



 




A+


 

5 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
65
Je pense que cette question aura plus sa place sur http://www.vbfrance.com/

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
58
C'est déplacé...















<hr />
-Blog-
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

 


Cela est possible mais je débute en la matière et, je ne sais pas comment trouver la sulution à ce problème


Sur  http://www.vbfrance.com/ OK mais dans qu'elle rubrique ?

Merci

Amicalement, pancho
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Pour info Bidou, triplons de ce message...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Messages postés
46
Date d'inscription
samedi 25 mars 2006
Statut
Membre
Dernière intervention
7 juin 2007

Private Sub Workbook_Open()

Response = MsgBox("Ne pas oublier de sauvegarder dans le dossier save TN !" & Chr$(13) & "Souhaitez-vous enregistrer?", vbYesNo + vbCritical + vbDefaultButton2, "pour enregistrer clic sur yes ", "DEMO.HLP", 1000)

If Response = vbYes Then    ' L'utilisateur a choisi Oui.
    ActiveWorkbook.SaveAs "C:\user\P520267\modif audit\save TN\Semaine TN.xls"
    ActiveWorkbook.Close True
Else
    ActiveWorkbook.Close False
End If
End Sub

Je ne comprend pas ton problème mais si l'utilisateur ne souhaite pas enregistrer, tu mettre False quand il ferme le fichier xls d'origine. D'autre part, si il enregistre et que le nom du fichier cible est une constante, il va écraser le précédent, est le but? Enfin, il serait souhaitable de mettre ta macro dans un boutton car si tu la met à l'ouverture, l'utilisateur va se retrouver avec un msgbox et quand il aura fait son choix le fichier se fermera, est ce le but?

MAXIMO71
PS Si la réponse vous satistait
pensez à la valider