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 :

intercepter message si fichier existe


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut intercepter message si fichier existe
    Bonjour.

    Dans une macro VBA je crée une copie d'un fichier excel en utilisant la methode saveas. Si l'utilisateur choisit un nom de fichier qui n'existe pas (j'utilise getsaveasfilename pour lui laisser choisir le nom), auncun probleme, mais si le fichier existe déjà excel montre un message de confirmation auquel on peut répondre oui, non ou annuler.
    J'aimerai pouvoir générer différents codes en fonction de la réponse choisie par l'utilisateur et je ne sais pas comment "intercepter" ces réponses.
    je précise que le fichier auquel s'applique le "saveas" n'est pas le fichier qui contient la macro et je ne peux donc pas utiliser l'évènement workbook_beforesave pour intercepter le message.
    quelqu'un peut-il m'aider ou au moins m'orienter.
    merci par avance.
    NB: Je ne suis pas du tout un pro de VBA, seulement un bidouilleur, alors soyez indulgents si jamais j'ai posé une question co..e.

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    je ferai un peu différement.

    Apres le getsaveasfilename j'utiliserais DIR pour controler si le fichier existe déjà ou pas et en fonction via MSGBOX ou USerform, je gère moi-meme les options OUi Non Ou annuler.

    Si oui -> Kill du fichier avant ou displayalert= false

  3. #3
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, via peut-être quelque chose comme

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
        Option Explicit
        Dim Fichier As Variant
        Dim NomFichier As String
        Dim Rep As Integer
        .....
        NomFichier = .....
        .....
        Fichier = Application.GetSaveAsFilename(InitialFileName:=NomFichier, fileFilter:="Fichier XLS (*.xls), *.xls")
        If Fichier = False Then Exit Sub
     
        If Dir(Fichier) <> vbNullString Then
            Rep = MsgBox("Le fichier : " & Fichier & vbCrLf & vbCrLf & _
                         "existe déjà dans ce dossier" & vbCrLf & vbCrLf & "Voulez-vous le Remplacer ?", _
                         vbYesNo + vbExclamation, "Avertissement")
        End If
     
        If Rep = 6 Then
            With Application
                .ScreenUpdating = False
                .DisplayAlerts = False
            End With
     
            .......
     
            With Application
                .ScreenUpdating = True
                .DisplayAlerts = True
            End With
        End If
        .....
    Voir également aide en ligne sur MsgBox

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 64
    Par défaut
    Ok!!

    Dites, vous êtes rapides comme l'éclair!!
    Merci bcp pour le coup de main. Je pensais que l'on pouvait intercepter facilement ces messages même quand le fichier en question ne contenait pas le code, mais je vois que non. Je viens déjà d'apprendre quelque chose.
    je vais appliquer la solution que vous me proposez en eliminant les alertes d'excel et en générant mon propre message.
    Merci encore, pour l'effectivité et la rapidité!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/05/2014, 09h24
  2. Supprimer le message "ce fichier existe déjà"
    Par reddevils dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/08/2007, 09h48
  3. Réponses: 3
    Dernier message: 13/07/2004, 10h48
  4. [langage] tester si un fichier existe
    Par schnecke dans le forum Langage
    Réponses: 3
    Dernier message: 02/03/2004, 11h24
  5. Interception Messages Windows
    Par tiramisu dans le forum MFC
    Réponses: 5
    Dernier message: 24/02/2004, 14h01

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