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 :

Suppression de MsgBox d'Excel [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut Suppression de MsgBox d'Excel
    Bonjour tout le monde,

    Mon programme VBA est assez simple, Je sélection une ligne pour faire un Copy/Paste sur un autre document à la suite de la liste déja présente.

    Donc ma macro me fait ouvrir le fichier pour pouvoir copier la ligne. Mon problème est que Excel me demande toujours si je veux réouvrir le fichier (car il reste ouvert toute la journée).
    Existe - t - il un moyen pour répondre forcément oui a cette MsgBox d'Excel afin que cela ne bloque pas la macro? ou peut etre même qu'il ne me propose plus de réouvrir le Fichier tout le temps.

    Voici le code d'ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ChDir "C:\Test"
    Workbooks.Open Filename:="C:\TEST\TEST_Partage.xls"
    Windows("TEST_Partage").Activate
    Merci

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Si tu veux ouvrir un classeur dont tu ne sais pas s'il est déjà ouvert, tu peux utiliser la méthode GetObject qui ne provoquera aucune alerte.

    Cordialement,

    PGZ

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    Désolé, je ne connais pas. Cela fonctionne comment ?

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut Autre méthode
    Salut Sibuxian (salut Pgz)

    C'est pas que je veux contredire Pgz mais à mon avis un test de nom de fichier via une boucle sur les classeurs sera plus facile à mettre en oeuvre.

    Voici ce que ça donne, on sort de la procédure si on trouve un fichier ouvert nommé "TEST_Partage"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub bouclefichiers()
     
    Dim Wb As Workbook
     
    For Each Wb In Workbooks 'Boucle sur tous les Workbooks
        If Wb.Name = "TEST_Partage" Then Exit Sub 'Test sur nom du Workbooks, si égale on quitte la macro, sinon on continue avec le code déjà existant
    Next Wb
     
    ChDir "C:\Test"
    Workbooks.Open Filename:="C:\TEST\TEST_Partage.xls"
    Windows("TEST_Partage").Activate
     
    End Sub
    A+

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    A mon avis, le plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Application.DisplayAlerts = False
     
        ChDir "C:\Documents and Settings\xxx\Desktop" 'le chemin de ton répertoire
        Workbooks.Open Filename:="C:\Documents and Settings\xxx\Desktop\test.xls" 'ton répertoire
        Windows("test").Activate
     
        Application.DisplayAlerts = True
    Cela répondra automatiquement "Oui" à la question qui est posée. Cependant, les infos non sauvegardées seront perdues. Mais c'est ce que j'ai compris de ta demande. Si tu ne veux pas perdre les infos, enregistre ton fichier avant de procéder à son ouverture.

    A+

  6. #6
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Citation Envoyé par DeaD78 Voir le message
    Bonjour,

    A mon avis, le plus simple :+
    Salut DeaD78, en effet c'est plus simple, mais tu as raison d'alerter sur l'aspect risque de perte de données,
    Citation Envoyé par DeaD78 Voir le message
    ...Cependant, les infos non sauvegardées seront perdues. Mais c'est ce que j'ai compris de ta demande....
    A+
    et c'est bien ça qui me fait peur avec cette procédure, ça me semble vraiment "dangereux", je ne suis pas certain que la question ai été bien posée.

    Comme j'ai relu la question initiale, par rapport à ma proposition, une sortie simple ne suffira surement pas, donc voici avec un Goto...

    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
    Sub bouclefichiers()
     
    Dim Wb As Workbook
     
    For Each Wb In Workbooks 'Boucle sur tous les Workbooks
        If Wb.Name = "TEST_Partage" Then Goto SuiteProc
    Next Wb
     
    ChDir "C:\Test"
    Workbooks.Open Filename:="C:\TEST\TEST_Partage.xls"
    Windows("TEST_Partage").Activate
     
    SuiteProc:
         'Ici la partie du code qui colle (du moins je suppose)
     
    End Sub
    A toi de voir Sibuxian...

  7. #7
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour à tous.

    J'arrive un peu tard mais
    Citation Envoyé par Fvandermeulen Voir le message
    C'est pas que je veux contredire Pgz mais à mon avis un test de nom de fichier via une boucle sur les classeurs sera plus facile à mettre en oeuvre.[/code]
    Tu as raison Frédéric si le claseur est ouvert dans la même application. D'ailleurs dans ce cas, comme
    car il reste ouvert toute la journée).
    Il n'y a alors pas de test à faire mais à l'adresser directement par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set wbk = Application.Workbooks("...")
    En fait j'ai proposé GetObject car cela permet d'instancier un classeur ouvert dans une autre application.
    Pour Sibuxian, c'est simple à utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Wbk as Excel.Workbook
     
    Set Wbk = GetObject("C:\TEST\TEST_Partage.xls")
     
    Wbk.Activate
    ...
    Amitiés,

    PGZ

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

Discussions similaires

  1. Suppression des styles sur Excel
    Par laurentsen dans le forum Excel
    Réponses: 1
    Dernier message: 05/11/2007, 19h01
  2. Suppression de ligne dans EXCEL
    Par top_eagle dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 06/06/2007, 00h26
  3. [VBA-E]Empécher la suppression d'un fichier excel
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/02/2007, 20h55
  4. Réponses: 11
    Dernier message: 07/07/2006, 19h24
  5. [VBA-E]Erreur sur suppression d'images dans excel
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 18/04/2006, 13h55

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