IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Aide débutant VBA Sauvegarde et YES NO pour application.quit


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur production
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut Aide débutant VBA Sauvegarde et YES NO pour application.quit
    Bonjour,

    Je fais de "l'auto-formation" sur VBA pour travailler sur excel.
    J'ai jusqu'à présent réussi à atteindre mes objectifs pour ce fichier.
    J'utilise une version 2013.

    J'ai commencé un code, la première partie fonctionne, la deuxième non
    donc je l'ai passé en commentaire
    J'aimerais après la nouvelle feuille avec les valeurs, enregistré le fichier puis proposer à l'utilisateur de quitter.

    En effet tous les jours, non calculons des données feuil1 et feuil2 puis nous enregistrons les valeurs sur une nouvelle page, datée du jour.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Bout_Save_New_Feui()
        Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Format(Date, "dd mmm yyyy")
        Worksheets("Feuil2").Range("B9:I17").Copy
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteValues
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteFormats
     
        'ActiveWorkbook.Save SaveChanges:=True
        'Dim retoursave As Long
        'retoursave = MsgBox("Feuille sauvegardée, souhaitez-vous quitter le programme ?", 4)
        'If retoursave = vbYes Then
        'Application.Quit
        'Else
        'MsgBox ("Feuille bien sauvegardée")
        'End If
     
    End Sub

    Merci pour l'aide

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Application.Quit est une commande très dangereuse dont je déconseille l'utilisation.

    Pour ton application, il serait moins dangereux de fermer le(s) fichier(s) traités que l'application elle-même sans savoir si elle à ouvert d'autres fichiers.

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur production
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut
    Peux tu m'indiquer la commande ?
    Que penses tu du Save ?
    Je crois que j'ai un problème de hiérarchisation sur l'ensemble du code..

    Merci

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur production
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut
    J'ai changé l'ordre du code
    Pourquoi le application.quit est dangereux ?
    Je veux bien fermer excel et non pas juste le fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Dim retoursave As Long
        retoursave = MsgBox("le Fichier va être sauvegardé, souhaitez-vous quitter le programme par la suite?", 4)
        If retoursave = vbYes Then
        Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Format(Date, "dd mmm yyyy")
        Worksheets("Feuil2").Range("B9:I17").Copy
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteValues
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteFormats
        ActiveWorkbook.Save
        Application.Quit
        Else
        Sheets.Add After:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Format(Date, "dd mmm yyyy")
        Worksheets("Feuil2").Range("B9:I17").Copy
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteValues
        ActiveSheet.Range("B9:I17").PasteSpecial Paste:=xlPasteFormats
        ActiveWorkbook.Save
        Sheets("Feuil1").Select
    Avec ce code je copie-colle mes données/je sauvegarde si l'utilisateur répond Oui ou si il répond non
    si il répond oui je quitte si non je reviens à la page d’accueil

    des avis?

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par DOCcode Voir le message
    Pourquoi le application.quit est dangereux ?
    Parce que si ton utilisateur a déjà un autre fichier ouvert et qu'il se trompe de bouton, il peut perdre des heures de travail.

    Surtout que le message de ton MsgBox, est ambigüe : on a l'impression que tu proposes juste de quitter ton programme. Tu n'indiques pas explicitement que c'est Excel qui va être fermé.
    Perso, jamais je n'accepterais qu'un tel code soit placé sur mon poste.

    Quand on développe une macro, il ne faut pas seulement se concentrer sur ce qu'on veut que cette macro fasse en croyant qu'elle est au centre de tout.
    Il faut savoir prendre du recul et prendre en compte tout l'environnement.
    Par exemple qu'elle est dans Excel et que Excel peut être utilisé pour d'autres tâches.

  6. #6
    Candidat au Club
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur production
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 4
    Par défaut
    D'accord je comprends mieux ce que tu veux dire désormais

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par DOCcode Voir le message
    Pourquoi le application.quit est dangereux ?
    Bonjour,

    il ne le serait pas si au moins il était conditionné sur le nombre de classeurs ouverts, à savoir un seul …

    ___________________________________________________________________________________________________________
    Je suis Paris, Mogadicio, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

Discussions similaires

  1. [XL-2003] Aide macro vba pour calcul du prix d'une option
    Par addictionme dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/05/2009, 15h45
  2. aide débutant VBA
    Par Flamand059 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/03/2009, 19h27
  3. Réponses: 3
    Dernier message: 25/01/2006, 17h54
  4. Aide débutant instruction VBA tableau Excell
    Par damien33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2005, 10h31
  5. [aide débutant servlet]
    Par viny dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 26/03/2004, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo