Malgré le loop, pas moyen de ré-executer la macro?! - VB/VBA/VBS - Programmation
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?
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
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
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.
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
Tu aurais pas le bout de code adéquat?
Marsh Posté le 08-11-2006 à 09:44:07
Bennyb666 a écrit : |
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"...
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
bref en gros je n'ai pas avancé d'un pouce. Ayez donc un peu pitié d'un novice vous les progrmmaeurs infâmes
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???!!?