Copie d'un classeur Excel [Résolu]

Signaler
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007
-
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007
-
Bonjour

Je souhaite effectuer la copie  d'un classeur Excel  après une demande de confirmation par oui ou non dans une pop-up à chaque ouverture du classeur.


Si je clic oui que l’on me propose toujours Le même chemin de destination.


Si je clic sur non que cela ferme la pop-up.



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




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


Merci pour votre aide précieuses.



 




A+ momo pancho

20 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
REgarde ce que fait ceci.
En revanche je n'ai pas bien compris le "Si je clic oui que l'on me propose toujours Le même chemin de destination."
Private Sub Workbook_Open()
If MsgBox("Voulez Vous sauvegarder", vbYesNo Or vbQuestion, "demande") = vbYes Then
   Call ActiveWorkbook.SaveAs("LECHEMIN")
End If
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Re,
Dans ce cas essaie peu être ceci

Private Sub Workbook_Open()
If MsgBox("Voulez Vous sauvegarder", vbYesNo Or vbQuestion, "demande") = vbYes Then
   Call Application.Dialogs.Item(xlDialogSaveAs).Show("C:\TOTO\toto.xls")
End If
End Sub<hr />
, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Re,
Comprends pas ton dernier post...
Attention le code envoyé est classeur dépendant et non commun a tout les classeur

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
DAns ce cas, STP
peu tu poster le code qui te permets d'ouvrir le classeur...
Désolé je pensais que tu travaillais directement dans l'IDE VBA

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
Tu dois bien avoir un code qui ouvre tes classeurs Excel????

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Va dans ThisWorkbook
Et mets le code dans
Private Sub Workbook_Open()

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Si tu veux copier une feuille avec toute sa mise en page (un clone...) utilise l'enregistreur de macro, clique droit sur l'onglet de la feuille à copier, choisi l'option Déplacer ou copier, sélectionne le classeur dans lequel tu veux faire la copie, coche la boîte Créer une copie, puis OK et arrête l'enregistreur.

Tu as maintenant tout le code nécessaire...

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Private Sub Workbook_Open()
    Dim MainProg As Workbook, DestProg As Workbook
    
    If MsgBox("Voulez Vous sauvegarder ce fichier", vbYesNo Or vbQuestion, _
                "sauvegarde dans save TN") = vbYes Then
                
        'Initialiser une variable pour reconnaître le classeur
        Set MainProg = ActiveWorkbook
        
        'Créer un nouveau classeur
        Workbooks.Add
        
        'Appeler la boîte de dialogue pour déterminer le nom et le chemin
        Application.Dialogs.Item(xlDialogSaveAs).Show _
                ("C:\Documents and Settings\MPi\Bureau\toto.xls")
                
        'Initialiser une variable pour reconnaître le classeur
        Set DestProg = ActiveWorkbook
        
        'Copie conforme de l'onglet Feuil1
        MainProg.Activate
        Sheets("Feuil1").Select
        Sheets("Feuil1").Copy Before:=DestProg.Sheets(1)
        
        'Fermeture et Sauvegarde du nouveau classeur
        DestProg.Close True
        ' ou Sauvegarde sans fermeture
        'DestProg.Save
    End If
End Sub

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Tu parles du MsgBox ?

Si tu veux, tu peux te faire ton propre contrôle MsgBox en utilisant un UserForm et en y incorporant les contrôles que tu veux. Tu n'a qu'à le nommer différemment de "MsgBox" pour éviter les conflits.

MPi
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut

Cela fonctionne mai ce que je souhaite est que si je clic sur OUI, que  l' on me propose toujours le même chemin de destination avec la possibilité de renommé le fichier.

Merci
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

RE
il se passe que à l'ouveture du classeur je n' ai plus la pop-up
elle est accecible que par VB
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

RE
 
Quand j'ouvre mon classeur je souhaite que la pop-up s'affiche, et elle n'apparais pas
je peut la visualisé seulement par visual basic
pour info j'utilise VB 6
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

RE

Ne soit pas désolé je ne suis vraiment pas specialiste

Comment poster ?
merci<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

RE 
Comment poster ? question idiote !!!

en faite qu' elle code ?
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut

Pour ouvrir le classeur je clic sur le fichier et il s'ouvre. Je ne voi pas ce que tu veut dir (code).

Ta formule fonctionne mai je ne peut l' activé que par VB : Execution-executer Sub/userform.

Et je veut qu'elle s'active à l'ouverture du classeur.

Private Sub Workbook_Post()
If MsgBox("Voulez Vous sauvegarder ce fichier", vbYesNo Or vbQuestion, "sauvegarde dans save TN") = vbYes Then
   Call Application.Dialogs.Item(xlDialogSaveAs).Show("C:\Documents and Settings\maurice\Mes documents\modif audit\save TN\toto.xls")
End If


End Sub

Merci
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut 

tous fonctionne merci pour votre aide precieuse

Maintenant si je souhaite faire la copie d'une feuille du classeur qu'elle procedure ou modif à appliqué ?

 
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

ce que je souhaite est de faire une copie avec la même procédure en enregistrant que la feuille dont j'ai besoin

merci

Private Sub Workbook_Open()
If MsgBox("Voulez Vous sauvegarder ce fichier", vbYesNo Or vbQuestion, "sauvegarde dans save TN") = vbYes Then
   Call Application.Dialogs.Item(xlDialogSaveAs).Show("C:\Documents and Settings\maurice\Mes documents\modif audit\save TN\toto.xls")
End If


End Sub
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut et merci tu m'aide un max

Encore une petite chose,

la boite de dialogue est défini par défaut, je ne peut effectuer aucune modif de celle-ci dans VB pas de userform

comment faire ?

merci  A+
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut


OK et encore merci


A+


 
Messages postés
29
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
14 juin 2007

Salut


OK et encore merci


A+