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 :

Faire une pause [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut Faire une pause
    Bonjour,

    J'ai une base de données qui doit se mettre a jour en allant chercher des infos dans d'autres base de données mais lorsque j'ai créé la macro qui me permet (base de donnée principale ouverte puisqu'elle contient la macro) par exemple de :

    1- Ouverture fichier Excel (BDD2.xls)
    2- Copie cellules vers BDD principale
    3- Ouverture fichier Excel (BDD3.xls)
    4- Copie cellules vers BDD principale
    5- Enregistre BDD principale
    6- Fermeture BDD2 et BDD3

    mon souci se présente entre le 5 et le 6, en effet la durée d'enregistrement est assez longue et Excel n'attend pas la fin de l'enregistrement et passe à la phase 6 donc l'enregistrement n'a pas le temps de se faire.

    Peut on inclure une pause entre 5 et 6 ou une boite d'info nous disant que l'enreg. s'est bien déroulé et ensuite passer à la phase 6 ?

    Slts

  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

    Citation Envoyé par graphikris Voir le message
    mon souci se présente entre le 5 et le 6, en effet la durée d'enregistrement est assez longue et Excel n'attend pas la fin de l'enregistrement et passe à la phase 6 donc l'enregistrement n'a pas le temps de se faire.
    Ce comportement paraît curieux. A ta place, je commencerais par essayer de trouver l'origine du pb, plutôt qu'un palliatif.

    Cordialement,

    PGZ

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut solution alternative
    Bonjour à tous,

    1. Pourquoi ne pas fermer les fichiers BDD2 & 3 après avoir copié ce qui est nécessaire, avant de passer à l'enregistrement du BDD Principal ?
    2. Il est possible de récupérer des données d'un fichier sans avoir à l'ouvrir ...

  4. #4
    Membre éprouvé Avatar de graphikris
    Homme Profil pro
    Pas tres doué
    Inscrit en
    Décembre 2012
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Pas tres doué
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 222
    Par défaut
    Bjr HopPopPop,
    la solution me parait interessante mais comment fait on ?

    Slts

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    n'en sachant pas plus sur le context
    un exemple
    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
    Sub test1()
    Application.ScreenUpdating = False ' on enleve le rafraichissement de l'ecran
    Application.DisplayAlerts = False ' on enleve tout les message d'avertissement
    Dim wbkprincipal, wbkBDD2 As Workbook, wbkBDD3 As Workbook, tablobdd2, tablobdd3 ' declarations des variables
    Set wbkprincipal = ThisWorkbook 'wbkprincipal devient le classeur actuel (BDD principale)
    Set wbkBDD2 = Workbooks.Open("chemin de ton BDD2") ' on ouvre le classeur bdd2
    tablobdd2 = wbkBDD2.Sheets(1).Range("A1:F1") ' on met la plage (a1:f1)du 1er sheets dans une variable tableau
    wbkBDD2.Close 'on ferme bdd2
    Set wbkBDD3 = Workbooks.Open("chemin de ton BDD3") ' on ouvre le classeur bdd3
    tablobdd3 = wbkBDD3.Sheets(2).Range("A1:F1") ' on met la plage (a1:f1) du 2 eme sheets dans une variable tableau
    wbkBDD3.Close 'on ferme bdd3
     
     
     ' maintenant on a 2 variables tableaux qui sont remplie par le passage eclair dans les deux BDD
     'on les pose ou on veux en l'ocurence ici en ligne 1 et 2 pour l'exemple
     wbkprincipal.Sheets(1).Cells(1, 1).Resize(UBound(tablobdd2), 6) = tablobdd2
    wbkprincipal.Sheets(1).Cells(2, 1).Resize(UBound(tablobdd3), 6) = tablobdd3
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/11/2005, 17h33
  2. [console]Comment faire une pause?
    Par aminee009 dans le forum MFC
    Réponses: 5
    Dernier message: 20/10/2005, 10h33
  3. Faire une pause
    Par loutente dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 17h23
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

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