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 :

"annuler" de "enregistrer sous"


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut "annuler" de "enregistrer sous"
    Bonjour le forum,

    Après de longues recherche je me permet de m'adresser à vous parce que là je crois que je n'y arriverais pas seule...

    J'ai créé une macro qui me permet "d'enregistrer sous" lorsque je clic sur "enregistrer" je n'ai aucun souci.
    Le problème est quand je fait "annuler" là excel me crée un fichier "false.xls" qui s'enregistre.

    le code que j'utilise est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Dir(chemin & ladate & "_" & lheure, vbDirectory) = "" Then
        MkDir (chemin & ladate & "_" & lheure)
      Else
        ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
        ActiveWorkbook.SaveAs (Filename)
        'ouverture de données_caméra
        Workbooks.Open Filename:="c:\truc\machin.xls"
    End If
    voyez vous quelque chose qui n'irait pas?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Il faut tester la valeur renvoyée par GetSaveAsFileName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If Dir(chemin & ladate & "_" & lheure, vbDirectory) = "" Then
        MkDir (chemin & ladate & "_" & lheure)
      Else
        ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
        If VarType(Filename) = vbBoolean Then
            'clic sur annuler
        Else
            ActiveWorkbook.SaveAs (Filename)
        End If
        'ouverture de données_caméra
        Workbooks.Open Filename:="c:\truc\machin.xls"
    End If
    Cordialement,

    Tirex28/

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    J'ai essayé ton code mais il ne m'ouvre même plus la fenêtre "enregistrer sous"
    il "enregistre" c'est tout

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 117
    Points : 74
    Points
    74
    Par défaut
    Bonjour,
    remplace sa
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'ouverture de données_caméra
        Workbooks.Open Filename:="c:\truc\machin.xls"
    par sa (merci ousk)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'sauvegarde du fichier en le laissant ouvert
        Application.Dialogs.Item(xlDialogSaveAs).Show "NomDuClasseur"
    Voila, moi sa marche très bien.
    Cordialement.
    papimcha

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    désolée mais ça ne change pas grand chose...

    j'ai oublié de vous dire en plus du fichier false qui se créé j'ai un message d'erreur 100' qui dit que la méthose "save as de _workbook a échouée"
    si ça peut aider...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Essayez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
         If Filename = True Then
        ActiveWorkbook.SaveAs (Filename)
        End If
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
         If Filename = True Then
        ActiveWorkbook.SaveAs (Filename)   
    Workbooks.Open Filename:="c:\truc\machin.xls"
    End If
    si cette ligne répond à la même condition.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    toujours pas désolée...

    en fait je ne peux pas tester si il y a un nom de fichier ou non puisque dès que la fenêtre "enregistrer sous" s'ouvre le nom du fichier est inscrit dedans ce n'est pas moi manuellement qui écrit dans "nom du fichier"

    c'est ce code ci qui le fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
    ActiveWorkbook.SaveAs (Filename)
    je pensais qu'il y avait un paramètre "de save as" qui me permettrait de palier à ce problème puisqu'à chaque l'erreur me ramène dessus mais j'a rien trouver ...

  8. #8
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Dir(chemin & ladate & "_" & lheure, vbDirectory) = "" Then
        MkDir (chemin & ladate & "_" & lheure)
      Else
        ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
        ActiveWorkbook.SaveAs (Filename)
        'ouverture de données_caméra
        Workbooks.Open Filename:="c:\truc\machin.xls"
    End If
    essaye comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Dir(chemin & ladate & "_" & lheure, vbDirectory) = "" Then
        MkDir (chemin & ladate & "_" & lheure)
      Else
        ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
        if not ucase(filename)="FALSE" then ActiveWorkbook.SaveAs (Filename)
        'ouverture de données_caméra
        Workbooks.Open Filename:="c:\truc\machin.xls"
    End If

  9. #9
    Invité
    Invité(e)
    Par défaut
    Rectification (à vérifier) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     ChDir (chemin & ladate & "_" & lheure)
        Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
         If Filename <> false Then
    ActiveWorkbook.SaveAs (Filename)   
        Workbooks.Open Filename:="c:\truc\machin.xls"
        End If

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    cherchez plus c'est résolu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.SaveAs (nomme)
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Filename = Application.GetSaveAsFilename(nom, "Fichier Excel (*.xls), *.xls")
        ActiveWorkbook.SaveAs (Filename)
    Mais la méthode qui consiste à tester filename="faux" fonctionne aussi !!

    Merci quand même et bonne soirée...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rechercher enregistrement avec ' (quote)
    Par jpo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 02/08/2007, 17h54

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