Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/11/2011, 11h17   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 30
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 30
Points : 3
Points : 3
Par défaut ouvrir un autre fichier alors qu'une macro tourne

Bonjour à tous,

Est-il possible d'ouvrir un autre fichier excel alors qu'une macro est entrain de tourner ?

Merci d'avance
bublibus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 15h46   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Cela dépend du sens de rotation de la macro..


...

Tu pourrais être plus clair ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/11/2011, 08h35   #3
Membre Expert
 
Avatar de rtg57
 
Homme
Autodidacte
Inscription : mars 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Autodidacte
Secteur : Service public

Informations forums :
Inscription : mars 2006
Messages : 1 175
Points : 1 435
Points : 1 435
Bonjour,

une macro est capable d'ouvrir un autre fichier EXCEL.
Mais si une macro "tourne", elle peut monopoliser les ressources EXCEL, et bloquer le tableur.
C'est pour cela qu'il existe la routine DoEvents qui redonne la main pour qu'EXCEL puisse traiter d'autres évènements.
Pour illustrer, essayez ceci:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Option Explicit
 
Private Sub CommandButton1_Click()
   Dim temps_final As Date
 
    Application.Cursor = xlWait
    temps_final = Now + TimeValue("0:00:15")
    While (Now < temps_final)
      'DoEvents
    Wend
    Application.Cursor = xlDefault
 
End Sub
Cette routine doit être lancée depuis un bouton posé sur votre feuille EXCEL.
Telle qu'elle est là, EXCEL ne répond plus pendant 15 secondes. Si vous libérez l'insruction DoEvents située dans la boucle, vous êtes capable d'ouvrir un autre fichier pendant que la macro tourne
__________________
@ bientôt...

Salut & @+ sur 3W!
rtg57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2011, 11h39   #4
Invité de passage
 
Inscription : janvier 2011
Messages : 30
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 30
Points : 3
Points : 3
Merci pour votre aide, du coup c'est bien l'utilisation du DoEvents que j'avais besoin. Pour info voici le code que j'ai utilisé

Code :
1
2
3
While (UserForms.Count <> 0)
  DoEvents
Wend
Bonne journée
bublibus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h20.


 
 
 
 
Partenaires

Hébergement Web