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 :

[VBA-E DisplayAlerts = False


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut [VBA-E DisplayAlerts = False
    Hello,

    Problème dans mon code:
    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
    Private Sub ValiderLot_Click()
    Dim wk As Workbook
        If ComboBox1 <> "" Then
            Dim Fichier As String
            Dim reponse As Boolean
            Fichier = Dir("C:\Documents and Settings\Chewi\Desktop\" & ComboBox1)
            If Fichier <> "" Then
                Assistant.On = False
                DisplayAlerts = False
                reponse = MsgBox("Ce fichier existe déjà, voulez-vous l'ouvrir?", vbYesNo)
                If reponse = vbNo Then
                Exit Sub
                End If
                reponse = vbYes
                Workbooks.Open "Fichier"
                'le fichier existe
            Else
                'le fichier n'existe pas
                Set wk = Workbooks.Add
                wk.SaveAs "C:\Documents and Settings\Chewi\Desktop\" & ComboBox1
                Unload Uf1
                Load Uf2
                Uf2.Show
            End If
        Else
                MsgBox "Vous n'avez pas entré de Lot"
        End If
        DisplayAlerts = True
    End Sub
    Voilà j'ai réussi à cacher l'office assistant mais excel me fait constament apparaître un message me disant que le fichier existe déjà et me demande si je veux l'écraser.

    Or le but d'un des "If" de ce code est justement de palier à ce problème et d'ouvrir simplement le fichier plutôt que de l'écraser, le sauver,... dans le cas où le fichier existe déjà.

    Quelqu'un pourrait-il me dire pourquoi je n'arrive pas à éviter ce message et que mon code ne s'exécute pas comme je le veux?

    Merci à vous,

    Chewi

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bon j'ai pas tout analysé... mais Dir ne te renvoi que le nom d'un fichier ... donc ensuite pour l'ouvrir il faut préciser le répertoire.....(si le fichier n'est pas dans le répertoire courant d'Excel...)
    de plus fichier étant une variable ... ne la met pas entre " ... sinon cela revient à tenter d'ouvrir un fichier dont le nom et fichier ( le nom de ta variable) et pas le contenu de celle-ci...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         Workbooks.Open "C:\Documents and Settings\Chewi\Desktop\"  & Fichier
    Que ce passe-t'il lorsque tu exécute ton code..?



    PS: change aussi le nom de ta variable .. stFichier par exemple... cela nous permettra de faire des commentaires plus clair sur ton code ... (pas de confusion entre fichier et fichier)

  3. #3
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut
    Lorsque j'exécute ce code:

    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
    Private Sub ValiderLot_Click()
    Dim wk As Workbook
        If ComboBox1 <> "" Then
            Dim stFichier As String
            Dim reponse As Boolean
            stFichier = Dir("C:\Documents and Settings\Chewi\Desktop\" & ComboBox1 & " - " & TextBox1 & " - " & ComboBox2)
            If stFichier <> "" Then
                Assistant.On = False
                DisplayAlerts = False
                reponse = MsgBox("Ce fichier existe déjà, voulez-vous l'ouvrir?", vbYesNo)
                If reponse = vbNo Then
                Exit Sub
                End If
                reponse = vbYes
                Workbooks.Open "C:\Documents and Settings\Chewi\Desktop\" & stFichier
                'le fichier existe
            Else
                'le fichier n'existe pas
                Set wk = Workbooks.Add
                wk.SaveAs "C:\Documents and Settings\Chewi\Desktop\" & ComboBox1 & " - " & TextBox1 & " - " & ComboBox2
                Unload Uf1
                Load Uf2
                Uf2.Show
            End If
        Else
                MsgBox "Vous n'avez pas entré de Lot"
        End If
        DisplayAlerts = True
    End Sub
    J'ai toujours le même message
    A file named "C:\..." already exists in this location. Do you want to replace it?

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Revoir ton instruction dir...? est tu sur de bien construire ta chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    msgbox  "C:\Documents and Settings\Chewi\Desktop\" & ComboBox1 & " - " & TextBox1 & " - " & ComboBox2
    que trouve tu dans tes contrôles ...?

    dans Combobox2 tu as bien l'extension du fichier ( .xls...) ?
    si non :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     stfichier = Dir("C:\Documents and Settings\Chewi\Desktop\" & ComboBox1 & " - " & TextBox1 & " - " & ComboBox2 & ".xls")

  5. #5
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut
    Oui, il m'enregistre bien le tout avec l'extension .xls , je crois qu'il le fait par défaut car non il n'y a pas .xls dans la ComboBox2.

    Mais je ne sais pas si le problème vienne de cela car le fichier est créer sans souci, il est aussi repéré sans souci seul problème c'est le message excel que je voudrais ne plus voir et que le fichier soit ouvert automatiquement.

    Pour info, j'ai ComboBox1, TextBox1, ComboBox2, un bouton de commande "valider" et un bouton de commande "annuler"

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben le problème c'est que si tu ne met pas l'extension ... ton dir te renvoi toujours rien : "" ... d'où tu considére que le fichier n'existe pas et tu en crée un nouveau

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

Discussions similaires

  1. Bloquer message application.displayalert=false innefficace
    Par Vincent32 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/02/2015, 16h27
  2. [XL-2007] DisplayAlerts à false
    Par Air P-E dans le forum Excel
    Réponses: 3
    Dernier message: 06/03/2012, 09h30
  3. [XL-2003] displayalert=false mais erreur tout de même
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/01/2012, 11h59
  4. [PPT-2007] Application.DisplayAlerts = False ne fonctionne pas
    Par nick_O dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 20/10/2010, 17h11
  5. Réponses: 6
    Dernier message: 26/07/2006, 11h00

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