VBA Excel: Attente récupération de données
Fermé
gregt73
Messages postés
52
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
21 janvier 2019
-
9 août 2018 à 11:24
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019 - 10 août 2018 à 15:43
gregt73 Messages postés 52 Date d'inscription lundi 25 mai 2009 Statut Membre Dernière intervention 21 janvier 2019 - 10 août 2018 à 15:43
A voir également:
- Vba attendre 1 seconde
- Différence entre 1 million et 1 milliard en seconde - Accueil - Technologies
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Devient un hacker pro en 1 seconde ✓ - Forum Jeux vidéo
- Vba range avec variable ✓ - Forum VB / VBA
2 réponses
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
9 août 2018 à 14:51
9 août 2018 à 14:51
Bonjour,
J'ai déjà été confronté à ce même problème des dizaines de fois lors de grosses programmations.
Certaine fois le code s'exécute effectivement trop vite.
Des fois j'utilise cela :
Application.Wait (Now + TimeValue("0:00:01"))
Et d'autre fois j'utilise une fonction que vous pouvez facilement trouver sur le net qui s'appelle delay(ms) qui permet d'attendre en milisecondes.
Meilleures salutations.
J'ai déjà été confronté à ce même problème des dizaines de fois lors de grosses programmations.
Certaine fois le code s'exécute effectivement trop vite.
Des fois j'utilise cela :
Application.Wait (Now + TimeValue("0:00:01"))
Et d'autre fois j'utilise une fonction que vous pouvez facilement trouver sur le net qui s'appelle delay(ms) qui permet d'attendre en milisecondes.
Meilleures salutations.
gregt73
Messages postés
52
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
21 janvier 2019
10 août 2018 à 14:21
10 août 2018 à 14:21
Bjr REVOLV3r, et merci pour votre réponse,
J'ai (ENCORE) essayé le Wait, mais ca ne fonctionne pas.
En fait, la macro attend bien le temps reglé, mais bizarement, mes valeurs ne sont pas mise à jour.
On dirait que la MAJ des valeurs (depuis le logiciel extérieur) se fait quand la macro est fini...!C'est possible ca? Que les valeurs soit stocké "je sais pas où" et que l'affichage dans ma cellule soit faite à la fin de la macro?
Et du coup, mon copier/coller au milieu de la macro ne fonctionne toujours pas...
Si vous avez encore des idées...
J'ai (ENCORE) essayé le Wait, mais ca ne fonctionne pas.
En fait, la macro attend bien le temps reglé, mais bizarement, mes valeurs ne sont pas mise à jour.
On dirait que la MAJ des valeurs (depuis le logiciel extérieur) se fait quand la macro est fini...!C'est possible ca? Que les valeurs soit stocké "je sais pas où" et que l'affichage dans ma cellule soit faite à la fin de la macro?
Et du coup, mon copier/coller au milieu de la macro ne fonctionne toujours pas...
Si vous avez encore des idées...
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
10 août 2018 à 14:25
10 août 2018 à 14:25
vous pouvez essaye d'activer la page ou d'activer le range(A1) de la page ou les données doivent être copiée afin de forcer excel à mettre à celles-ci. Redites-moi.
gregt73
Messages postés
52
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
21 janvier 2019
10 août 2018 à 14:47
10 août 2018 à 14:47
Après la commande "=RECUP(" & text & " ,NOW,,,,0,0,0,1,,,,,,,,,0,,0)" dans la macro, j'ai rajouté Range ("H" & Derlig).Activate.
Je ne suis pas vraiment sur que c'est celà dont vous parlez, mais ca ne fonctionne toujours pas...
Je ne suis pas vraiment sur que c'est celà dont vous parlez, mais ca ne fonctionne toujours pas...
rEVOLV3r
Messages postés
223
Date d'inscription
jeudi 12 août 2010
Statut
Membre
Dernière intervention
21 septembre 2022
28
10 août 2018 à 14:58
10 août 2018 à 14:58
Si vous lancez la macro step by step, lors de l'activation du range, Est-ce que les données collées sont présentes ?
gregt73
Messages postés
52
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
21 janvier 2019
10 août 2018 à 15:18
10 août 2018 à 15:18
Effectivement, meme pas pensé de faire du pas à pas...!!
Alors, tout se passé pour le mieux (on avance de pas en pas) jusqu'au moment de la commande RECUP où, au lieu de faire ligne à ligne (avec ma commande for I/next I), le sablier s'affiche......puis tout déroule d'un seul coup jusqu'à la fin de la macro...!! Où j'arrive donc au meme probleme. Je comprend plus rien..!
Alors, tout se passé pour le mieux (on avance de pas en pas) jusqu'au moment de la commande RECUP où, au lieu de faire ligne à ligne (avec ma commande for I/next I), le sablier s'affiche......puis tout déroule d'un seul coup jusqu'à la fin de la macro...!! Où j'arrive donc au meme probleme. Je comprend plus rien..!
gregt73
Messages postés
52
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
21 janvier 2019
10 août 2018 à 15:43
10 août 2018 à 15:43
Je viens de faire une boucle infinie après avoir censé récuperer la valeur (par =RECUP...).
Et là, je vois les cellules de destination (celles qui doivent récupérer les valeurs de l'autre logiciel) afficher un #ACQUIRING, qui est la syntaxe lorsque l'on est en train d'acquerir les valeurs.
SAuf que si j'écris la formule à la main, le ACQUIRING apparait 0.5 voir 1 seconde avant de voir afficher la valeur.
Ce qui prouve que dans la macro, la valeur n'est pas récupéré tant que la macro n'est pas fini, donc mon copié/coller ne fonctionnera jamais...
En fait, il faudrait 2 macros, 1 sui récupère les valeurs, qui se termine, puis l'autre qui se lance pour faire le traitement et mise en page dans excel, non?
COmment est ce que je pourrais faire ça??
MErci d'avance pour vos réponses.
Et là, je vois les cellules de destination (celles qui doivent récupérer les valeurs de l'autre logiciel) afficher un #ACQUIRING, qui est la syntaxe lorsque l'on est en train d'acquerir les valeurs.
SAuf que si j'écris la formule à la main, le ACQUIRING apparait 0.5 voir 1 seconde avant de voir afficher la valeur.
Ce qui prouve que dans la macro, la valeur n'est pas récupéré tant que la macro n'est pas fini, donc mon copié/coller ne fonctionnera jamais...
En fait, il faudrait 2 macros, 1 sui récupère les valeurs, qui se termine, puis l'autre qui se lance pour faire le traitement et mise en page dans excel, non?
COmment est ce que je pourrais faire ça??
MErci d'avance pour vos réponses.