Malgré le loop, pas moyen de ré-executer la macro?!

Malgré le loop, pas moyen de ré-executer la macro?! - VB/VBA/VBS - Programmation

Marsh Posté le 06-11-2006 à 20:53:41    

Bonjour,
 
Je chercher à faire un code qui lancera une macro en boucle sur chacun de mes enregistrement du formulaire.
 
Voici donc le code :
Private Sub Commande82_Click()
Dim stDocName As String, Secondes As Integer, temp As Integer, Début As Long, Fin As Long, Chrono As Long, temp2 As Integer, temp3 As Integer
 
stDocName = "Macro1"
temp = 100
temp2 = 0
temp3 = 1
Secondes = 4
 
Do Until temp < 1
    stDocName = "Macro1"
    DoCmd.RunMacro stDocName
    Début = Timer
    Fin = Début + Secondes
    Do Until Timer >= Fin
        DoEvents
    Loop
    DoCmd.GoToRecord , , acNext
    temp2 = temp
    temp = temp2 - temp3
Loop
 
End Sub
 
 
 
PROBLEME:  cela défile bien enregistrement après enregistrement, ca temporise bien, MAIS la macro n'est excéutée qu'une seule fois sur le premier enregistrement???!!? :(

Reply

Marsh Posté le 06-11-2006 à 20:53:41   

Reply

Marsh Posté le 06-11-2006 à 21:05:24    

Bon    
en fait ma macro fonctionne mais comme elle déclenche une création d'email, lorsque la macro est à nouveau rappellée, au lieu d'aller appuyer de nouveau sur le bouton de mon formulaire, elle envoye les touches dans l'email.
 
Bref il faudrait rajouter à ma fonction quelque chose du style (à la fin):
 
REVENIR ET RENDRE ACTIF LE FORMULAIRE.
 
Coment le faire?

Reply

Marsh Posté le 06-11-2006 à 21:42:26    

Probleme reglé, j'ai mis dans ma macro le raccourci CTRL-ENTER ce qui permet d'envoyer l'email, et donc le focus revient sur access :d
 
Mais maintenant, comment faire pour que le programme se lance autant de fois qu'il y à d'enregistrement dans mon formulaire? Car là il se lance x avec mon compteur, et à la fin ca me crée des entrées :/

Reply

Marsh Posté le 07-11-2006 à 12:39:42    

ben tu créés une routine avec une boucle each avec chacune de tes entrées, non ? Ca te garantie une nombre d'envoi limité à ton nombre d'entrées.

Reply

Marsh Posté le 07-11-2006 à 14:15:35    

oula, attend, pour en arriver là où je suis, j'ai bricolé avec des bouts de code trouvé par ci par là. Quand tu me parles de each je comprends rien :D
 
Tu aurais pas le bout de code adéquat? :d

Reply

Marsh Posté le 08-11-2006 à 09:44:07    

Bennyb666 a écrit :


 
Tu aurais pas le bout de code adéquat? :d


 
Pas de code complet, mais deux façons de faire à te proposer :
 - récupérer le nombre de formulaires à enregistrer que tu stockes dans une variable, et avec laquelle tu fais une boucle for
 - For each x in y représente en francais "pour chaque élément x de ton ensemble y"...
 
 :whistle:

Reply

Marsh Posté le 08-11-2006 à 19:57:42    

alors
- je vois bien le travail à faire, mais n'ayant jamais programmé en VBA, je ne connais pas les termes à utiliser pour récupérer.. Car je pense que "Currentdoc.numberofunits" ca fonctionnera pas :d
 
bref en gros je n'ai pas avancé d'un pouce. Ayez donc un peu pitié d'un novice vous les progrmmaeurs infâmes :fou: :heink:


Message édité par Bennyb666 le 08-11-2006 à 19:57:51
Reply

Marsh Posté le 09-11-2006 à 16:30:36    

:d

Reply

Marsh Posté le 15-11-2006 à 19:28:47    

up :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed