Petite question sur DoEvents non trouvée sur le forum [Résolu]

DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 14:22 - Dernière réponse : DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention
- 21 avril 2006 à 20:01
Re !

Dans mon code vba, j'ai cela :
Workbooks.Open Filename:= _
"S:\RHcommun\Greg\STAGE\base.xls"

Cette feuille à son lancement execute un logiciel de requete : query, qui permet de la mettre à jour. Or en la lançant par ici, c'est à dire depuis une autre feuille, elle se lance et la suite du code de la feuille principale tourne du coup ce qu ema feuille appellée doit faire ne se fait pas. J'ai pensé à un DoEvents juste aprés mon :
Workbooks.Open Filename:= _
"S:\RHcommun\Greg\STAGE\base.xls"
DoEvents

Mais ça ne marche pas...
Help pleaseee ^^
Afficher la suite 

12 réponses

Meilleure réponse
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 16:06
3
Merci
Pense à ajouter une ligne "on error resume next" avent ton test car je pense que si tu ne met pas de date dans ta cellule tu risque d'avoir une erreur de compatibilité de type. A moin que tu ne test ça avent avec isdate()
ex :
IsDate (Cells(i, 17)) then
If CDate("28/02/2006") < Cells(i, 17) And Cells(i, 17) < CDate("30/03/2006") Then
blablabla....
end if
end if

D'oh! Nuts!
Mmmmm...
DONUTS

Merci Polack77 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 14:38
0
Merci
Ca ne serait pas un probléme avec la securité office (onglet outils/macro/sécurité) car je viens de faire un test et pas de probléme chez moi???

D'oh! Nuts!
Mmmmm...
DONUTS
DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 14:47
0
Merci
Non j'ai tous les droits mais ça ne fonctionne pas ... Je viens de vérifier, c'est bizarre quand même !

En enregistrant une macro, je l'ai fait à la main voici son code :

Workbooks.Open(Filename:="S:\RHcommun\Greg\STAGE\essai.xls").RunAutoMacros _
Which:=xlAutoOpen
Application.Run Range("ScOnWindow")
Application.Run Range("ScOnData")



Range("A2").Select
Windows("ReportingRomans 2006.xls").Activate
Application.Run Range("ScOnWindow")
Range("I1").Select

Seulement, je lance et ça plante sur : Application.Run Range("ScOnWindow") qui entre nous est un truc qui m'est totalement inconnu lol !!!
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 14:59
0
Merci
A vrais dire je ne sait pas à cois serv "Application.Run Range("ScOnWindow")" et "Application.Run Range("ScOnData")".
Quel version d'office utilise tu? Moi 2003. Peut être un bug offce??????????
Les action sur ton fichier "enfant" sont bien défini dans "ThisDocument" avec "Private Sub Document_Open()" comme définition de procédure?

D'oh! Nuts!
Mmmmm...
DONUTS
DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 15:07
0
Merci
oula je n'est pas tout ça moi lol !! Tu me perds là ... ^^
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 15:30
0
Merci
Ques qui te pose probléme????
Quel version d'office utilise tu? Moi 2003. Peut être un bug offce?????????? (la je pense que tu comprend)
Les
action sur ton fichier "enfant" sont bien défini dans "ThisDocument" (nom du truc qui resemble à un module dans l'explorateur de projet)
avec "Private Sub Document_Open()" (nom de la procédure) comme définition de procédure?
Je ne voie pas ce qui te pose probléme????

D'oh! Nuts!
Mmmmm...
DONUTS
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 15:31
0
Merci
Les action sur ton fichier "enfant" (j'entand par fichier enfant le fichier que tu ouvre en code)

D'oh! Nuts!
Mmmmm...
DONUTS
DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 15:33
0
Merci
Oui mais ça c'est tout bon, mais en fait je me rend compte que c'est impossible ce que je veux faire ... :(
Completement à part de mon code entier j'ai juste mis de quoi lancer mon fichier qui la ça marchait me demandé si je voulais rafraichir ou conserver les données par le requeteur ShowCase Strategy Query. Je voulais automatiser l'appuis sur enter afin de rafraichir mais ça ne marche pas le send key ne se fait pas car c'est pas vmt une boite de dialogue dans excel puisque c'est à Strategy ... En gros c'est un gros bazarre lol !!!!
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 15:45
0
Merci
Je n'ai rien mais alors rien compris à ton dernier message???????????????????????????????

D'oh! Nuts!
Mmmmm...
DONUTS
DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 15:56
0
Merci
lol ! En gros ma feuille pere lance une feuille fils qui a son lancement récupere grace au logiciel ShowCase Strategy Query des données dans une base et les met dans cette feuille fils. Le pere aura pour objectif de pouvoir piocher dedans. Query se lance pas avec une macro ou autre mais c'est configuré par un menu d'Excel qui s'ajoute quand on installe la suite ShowCase.
Le fils au lancement demande si on veut ou non mettre a jour ses données, enfin c'est une boite de dialogue Query qui le demande mais c'est ce que je voulais automatiser en simulant des touches mais c'est apparement pas possible donc je laisse tombé.

Par contre est ce que tu saurais pourquoi ça ça marche :

If CDate("28/02/2006") < Cells(i, 17) And Cells(i, 17) < CDate("30/03/2006") Then
If Cells(i, 27) <> "S" Then
nbPersonne = nbPersonne + 1
MsgBox (Cells(i, 6))
End If
End If

Et pas ça lol :
If CDate("28/02/2006") <= Cells(i, 18) And Cells(i, 18) < CDate("30/03/2006") And Cells(i, 27) <> "S" Then
nbPersonne = nbPersonne + 1
MsgBox (Cells(i, 6))
End If
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 21 avril 2006 à 16:02
0
Merci
Tes formats de cellule sont bien en date (si non test en rajoutant cdate() partout)?

Pour ton code il n'est pas possible de crée une DDE pour faire se que tu veut????

Exemple de DDE pour Excel
Dim MyXl As Object ' Variable devant contenir la référence à Microsoft Excel.
Set MyXl = GetObject(, "Excel.Application") 'Recu de l'adrs d'excel
Set MyXl.Application.Workbooks(1).ActiveSheet = Nothing ' Libère la référence à l'application et à la feuille de calcul.

D'oh! Nuts!
Mmmmm...
DONUTS
DarkRider26 32 Messages postés mardi 7 mars 2006Date d'inscription 15 juin 2006 Dernière intervention - 21 avril 2006 à 20:01
0
Merci
ouep c'est tout bon ça marche ! merci beauuucouuup !!!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.