madbomber
Messages postés10Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 juin 2007
-
7 juin 2007 à 16:05
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
13 juin 2007 à 15:55
Bonjour le forum!!
Je suis novice en vbscript mais je connais assez bien le VBA d'Excel.
Voila mon souci.
J'ai une macro sous excel qui affiche un userform toutes les 10 min ... le problème est que si je reduit ma fenetre Excel dans la barre des taches de windows XP pour faire autre chose (travailler sur une autre application mais pas Excel), qd le userform doit s'afficher, je suis obligé de cliquer sur l'application Excel dans la barre des taches (qui se met a clignoter) pour qu'il s'affiche. Quel pourrait etre le code qui permettrait juste d'activer automatiquement mon classeur Excel qd le userform doit apparaitre??
Si vous voulez des precisions sur ce petit problème je reste disponible...
Merci d'avance
madbomber
Messages postés10Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 juin 2007 7 juin 2007 à 16:51
J'ai essayé ton code VBA, je n'ai pas d'erreur et pourtant ca ne marche pas ..
Je vais etre plus precis peut etre que l'on peut affiner le truc.
En fait je cré une interface sur windows XP qui en gros partage l'écran entre un fichier Excel et une application d'un logiciel graphique et l'utilisateur doit les voir en meme temps. Le truc c que l'utilisateur peut cliquer sur le graphique pour avoir certains détail blabla et donc l'activewindow devient l'appli graphique et de temps en temps l'Excel balance une alerte sous forme de userform et si c'est l'appli graphique d'activée alors Excel clignote en bas en attendant desesperement que je clique dessus... Evidement qd c'est Excel qui est actif la ya aucun probleme...
En tout cas un grand merci de m'aider c'est tres sympa
madbomber
Messages postés10Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 juin 2007 8 juin 2007 à 09:08
Voici mon code ...
Dans un module
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
sub ma_macro
....
If Seuil_actuel <> Seuil_précédent And Seuil_actuel <> "" And Seuil_précédent <> "" Then
Dim hwnd As Long
hwnd = FindWindow(vbNullString, "alerte_pop_up")
SetForegroundWindow (hwnd)
Alerte_pop_up.Label2 = "Le tag " & Tag & " " & Description & " du service " & Service & " situé sur l'atelier " & Atelier & " vient de passer du seuil " & Seuil_précédent & " au seuil " & Seuil_actuel & " en passant de la valeur " & Valeur_précédente & " à la valeur " & Valeur_actuelle
Alerte_pop_up.Show vbModeless
....
Faut'il que je mette la commande que tu m'a donné dans le initialize du userform?
madbomber
Messages postés10Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention13 juin 2007 8 juin 2007 à 13:38
je n'arrive pas a grand chose... Sinon comme il suffit qu'Excel soit actif pour que ca s'affiche devant peux tu me donner le code pour activer le programme Excel depuis un script vbs... (juste activer mon classeur pas l'ouvrir car il est deja ouvert)