Excel macro VBA problème exécution
Fermé
Phil
-
6 sept. 2010 à 16:21
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 7 sept. 2010 à 13:42
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 7 sept. 2010 à 13:42
A voir également:
- Excel macro VBA problème exécution
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Macro word - Guide
- Si et excel - Guide
3 réponses
cousinhub29
Messages postés
882
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
25 avril 2024
334
Modifié par cousinhub29 le 6/09/2010 à 16:38
Modifié par cousinhub29 le 6/09/2010 à 16:38
Bonsoir,
Tu es sûr des deux "ll" dans "Feuill3"?
@ te relire
Pour info, ce code pourrait t'aider :
Tu es sûr des deux "ll" dans "Feuill3"?
@ te relire
Pour info, ce code pourrait t'aider :
Sub ee() Sheets("Feuil1").Cells.Copy Sheets("Resultat").Range("A1").PasteSpecial _ Paste:=xlPasteValues End Sub
Bonjour,
Tout d'abord, merci de la réponse rapide.
Il semble que mon problème ne vient pas du code de ma macro mais du délai de calcul ou d'affichage.
J'ai une requête sur une BDD SQL serveur qui me renvoie des résultats dans une feuille "Feuil1"+ une feuille "Feuil3" qui fait quelques calculs sur ces données.
Ensuite je cherche à copier coller les valeurs de "Feuil3" dans "Resultat" pour pouvoir ensuite supprimer "Feuil1" & "Feuil3" pour ne garder que l'essentiel.
En mode pas à pas, l'exécution de la requête + les calculs sont OK, mon copier coller fonctionne normalement.
Si j'exécute ma macro par F5, dans "Resultat", je ne récupère que des cellules à zéro.
J'ai essayé d'ajouter un DoEvent pour avoir une temporisation, mais ça ne dois pas être la bonne instruction.
Si quelqu'un peut m'aider à ne plus tourner en rond...
Merci d'avance.
phil
Tout d'abord, merci de la réponse rapide.
Il semble que mon problème ne vient pas du code de ma macro mais du délai de calcul ou d'affichage.
J'ai une requête sur une BDD SQL serveur qui me renvoie des résultats dans une feuille "Feuil1"+ une feuille "Feuil3" qui fait quelques calculs sur ces données.
Ensuite je cherche à copier coller les valeurs de "Feuil3" dans "Resultat" pour pouvoir ensuite supprimer "Feuil1" & "Feuil3" pour ne garder que l'essentiel.
En mode pas à pas, l'exécution de la requête + les calculs sont OK, mon copier coller fonctionne normalement.
Si j'exécute ma macro par F5, dans "Resultat", je ne récupère que des cellules à zéro.
J'ai essayé d'ajouter un DoEvent pour avoir une temporisation, mais ça ne dois pas être la bonne instruction.
Si quelqu'un peut m'aider à ne plus tourner en rond...
Merci d'avance.
phil
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
7 sept. 2010 à 13:42
7 sept. 2010 à 13:42
Bonjour,
La réponse de cousinhub29 est correcte, essaie au moins...
En mode pas à pas, l'exécution de la requête + les calculs sont OK
Avec le code que tu nous a fourni ça m'étonnerait...
Tu fais Sheets("Resultat").Select au lieu de Sheets("Resultat").Activate, ton pastespecial doit aller dans la feuille active, tu as l'impression que ça marche parce tu as Sheets("Resultat") d'activé lorsque tu contrôles je pense.
Remplace par le code fourni par cousinhub29.
Ceci dit les données ne sont peut-être pas encore là (en plus...).
Pour temporiser tu as .Wait (doevents permet aux autres évènement de s'executer sans tout bloquer)
Tu pourrais faire une boucle while qui contrôle le contenu d'une cellule prouvant que toutes les données sont arrivées, avec à l'intérieur une tempo du style Application.Wait(Now + TimeValue("00:00:03"))
eric
La réponse de cousinhub29 est correcte, essaie au moins...
En mode pas à pas, l'exécution de la requête + les calculs sont OK
Avec le code que tu nous a fourni ça m'étonnerait...
Tu fais Sheets("Resultat").Select au lieu de Sheets("Resultat").Activate, ton pastespecial doit aller dans la feuille active, tu as l'impression que ça marche parce tu as Sheets("Resultat") d'activé lorsque tu contrôles je pense.
Remplace par le code fourni par cousinhub29.
Ceci dit les données ne sont peut-être pas encore là (en plus...).
Pour temporiser tu as .Wait (doevents permet aux autres évènement de s'executer sans tout bloquer)
Tu pourrais faire une boucle while qui contrôle le contenu d'une cellule prouvant que toutes les données sont arrivées, avec à l'intérieur une tempo du style Application.Wait(Now + TimeValue("00:00:03"))
eric