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 :

création de fichier (ou pas)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut création de fichier (ou pas)
    je n'ai pas l'habitude de manipuler les fichiers, merci de votre aide
    dans mon code, je crée une feuille puis je l'exporte pour créer un nouveau classeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sheets(nomdefeuille).Move
    On Error GoTo fin
        chemin = ThisWorkbook.Path & "\"
        nom = ActiveSheet.Name & ".xls"
        ActiveWorkbook.SaveAs Filename:=chemin & nom
        ActiveWorkbook.Close save
        MsgBox "un classeur   " & Chr(10) & nom & Chr(10) & "  a été créé dans le même répertoire que la base de donnée  " _
        & Chr(10) & chemin
    Exit Sub
    fin:
    c'est ici que j'ai besoin
    ici,pour gerer le cas ou le fichier existe déja. windows envoie sa boite de dialogue : un fichier de ce nom existe déja, souhaitez vous le remplacer?
    et donc, en cas de oui, pas de probleme, la macro se poursuit le fichier est crée, mais en cas de non, je voudrais que 1) le fichier ne soit pas créé, 2 )que le classeur qui a été créé soit fermé sans enregistrer, pour me ramener dans ma configuration initiale, c'est a dire seulement mon classeur ouvert.
    et là, je seche lamentablement. et pas fastoche de trouver l'info en utilisant la recherche, ou alors, je suis pas en forme ce soir.
    je pensais a un
    for each workbook in chemin...
    mais je m'en sort pas avec les dim wb as worbook ou dim wb = workbook
    wb close false
    bref, je crois que j'ai tout les mots, mais que j'arrive pas a les organiser
    merci d'avance pour le coup de main

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

    Je ne sais pas si j'ai bien tout compris, mais si vous ajoutez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nom = ActiveSheet.Name & ".xls"
    fexist = Dir(chemin & nom)
    if fexist = ""
    ActiveWorkbook.SaveAs Filename:=chemin & nom
    end if
    Amicalement

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    Merci jacques jean,
    ce n'est pas exactement ça. là tu dis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     si le nom n'existe pas alors créer le fichier
    je cherche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    en fonction de la boite de dialogue windows, créer ou ne ne pas créer.
    ( c'est a dire que si je répond oui, il écrase le fichier existant, si je répond nom, la création est abandonnées et il éfface ce fichier qu'il n'a pas encore sauvegardé. éventuellement, on peut prévoir une troisieme option, c'est qu'il demande un autre nom pour le fichier
    a l'heure actuelle, meme si je répond non a cette boite, la macro se poursuit de la meme manier, mais il se produit une erreur entre le fait que je lui dise nom et le save as

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    bon, je crois que j'ai trouvé. j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sheets(nomdefeuille).Move
    On Error GoTo fin
        chemin = ThisWorkbook.Path & "\"
        nom = ActiveSheet.Name & "  " & IIf(cléexport = "<>", "global", cléexport) & ".xls"
        ActiveWorkbook.SaveAs Filename:=chemin & nom
        ActiveWorkbook.Close save
        MsgBox "un classeur   " & Chr(10) & nom & Chr(10) & "  a été créé dans le même répertoire que la base de donnée  " _
        & Chr(10) & chemin
    Exit Sub
    fin:
    ActiveWorkbook.Close False
        MsgBox "Il s'est produit une erreur   " & Chr(10) & "le classeur   " & Chr(10) & nom & Chr(10) & "  n'a pas pu etre créé  "
    en fait c'était assez simple. ça englobe tout les genre d'erreur. j'aurais préféré rebondir sur la boite "enregistrer sous" ou quelque chose du genre, mais c'est déja bien. je marque résolu, mais si quelqu'un a quelque chose de mieux, qu'il n'hésite pas
    merci Jaques jean


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

Discussions similaires

  1. pas de création de fichier txt
    Par isa3000 dans le forum Général Java
    Réponses: 5
    Dernier message: 30/07/2009, 14h28
  2. Pas de création de fichier
    Par isa3000 dans le forum Eclipse
    Réponses: 1
    Dernier message: 06/07/2009, 21h39
  3. [Système] Appel script perl, pas de création de fichier
    Par trollanfer dans le forum Langage
    Réponses: 2
    Dernier message: 11/12/2008, 22h08
  4. Réponses: 2
    Dernier message: 20/08/2008, 12h34
  5. log4net : pas de création de fichier
    Par snopims dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/04/2008, 16h01

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