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

VB.NET Discussion :

Excel et multithreading


Sujet :

VB.NET

  1. #1
    Membre confirmé Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Par défaut Excel et multithreading
    Bonjour,

    Je travaille sur une application devant récupérer des données dans Excel pour les transférées dans un autre programme. Tout fonctionne très bien, seulement lorsque j'envois le transfert des données, mon interface se fige, dût au travail de récupération des éléments dans Excel et de copie de ceux-ci dans mon programme.

    Ce vilain comportement peut-il être éviter autrement qu'en multithreading ? J'ai pu mettre en place rapidement un petit thread exécutant ma fonction de transfert, ce qui rend mon interface très fluide (il faut juste que je bloque l'accès au bouton de transfert jusqu'à ce que le thread aie fini) mais je n'arrive pas à mettre à jour mon label indiquant la progression de mon transfert. Puisqu'il appartient à mon thread principal, je ne peux y accéder depuis mon second thread.

    Comment faire ?

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 196
    Par défaut
    en restant sur le thread principal c'est faisable avec l'instruction doevents dans ta boucle, ca dégèle l'interface à chaque tour mais ca ralenti le traitement

    sinon il y a le backgroundworker qui te pemettra de modifier ton label car il a 2 évènements qui sont ramenés sur le thread principal

    et il reste possible d'écrire un délégué pour qu'un thread puisse modifier un controle, ce mécanisme est souvent décrit, je l'ai décris plusieurs en fois en détail
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Regarde dans les cours du site: http://drq.developpez.com/dotnet/articles/threads/
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  4. #4
    Membre confirmé Avatar de Miles Raymond
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 189
    Par défaut
    Merci beaucoup pour vos réponses. Finalement, pour me faciliter la vie j'ai suivis le conseil de sperot51 en travaillant avec un Backgroundworker et j'ai regardé le tuto de developpez.net sur le sujet. Excellent.

    Tout fonctionne plutôt bien de cette manière, merci encore !

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

Discussions similaires

  1. [Débutant] Ping Multithreading depuis un fichier Excel
    Par barbiche42 dans le forum VB.NET
    Réponses: 0
    Dernier message: 30/01/2012, 15h56
  2. Réponses: 1
    Dernier message: 10/07/2009, 12h44
  3. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  4. Réponses: 2
    Dernier message: 22/07/2002, 12h13
  5. [Kylix] Excel via kylix
    Par Billy joel dans le forum EDI
    Réponses: 1
    Dernier message: 23/05/2002, 11h57

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