Ledude89
Messages postés14Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 4 juillet 2008
-
6 juin 2008 à 09:28
Ledude89
Messages postés14Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 4 juillet 2008
-
6 juin 2008 à 15:08
Bonjour,
Je travaille sur une base ACCESS 2003.
A partir d'un même bouton de commande dans un formulaire, je souhaite exécuter 2 macros, mais seule la première fonctionne.
- La première macro exécute une requête.
- La seconde converti cette requête en fichier excel.
Séparément, les 2 macros fonctionnent parfaitement.
Voici le code actuel. Comment dois je faire pour que la seconde s'exécute à la suite ?
Merci
Yves
---------------------------------------------------------
Private Sub Commande273_Click()
On Error GoTo Err_Commande273_Click
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 6 juin 2008 à 12:20
je regardé trop vite !!!!!
remplace bouton par le nom de ton bouton c'est à dire Commande273
de plus le " Dim " doit se trouver au tout début de la procédure donc avant le "on error goto ..."
donc :
Private Sub Commande273_Click()
Dim stDocName As String
On Error GoTo Err_Commande273_ClickIf Commande273.caption = "moyenne_classe" Then 'si le texte du bouton est on fait l'action 1
stDocName = "moyenne_classe"
DoCmd.OpenQuery stDocName, acNormal, acEdit
ElseIf Commande273.caption = "export_vers_excel_moyenne_classe" Then 'sinon on fait l'action 2
stDocName = "export_vers_excel_moyenne_classe"
DoCmd.RunMacro stDocName
End If
IF Commande273.caption = "moyenne_classe" Then 'ce if pour changer le texte affiché par le bouton apres chaque action
Commande273.caption = "export_vers_excel_moyenne_classe"
Else
Commande273.caption = "moyenne_classe"
End If
Exit Sub
je t'ai mis en violet ce qui à mon avis ne sert à rien sauf pendant la phase de mise au point !
et encore ! je préfere quand à moi dans cette phase procéder à l'éxécution en pas à pas avec la touche F8
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
lillith212
Messages postés1229Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention16 juin 2009 6 juin 2008 à 11:07
As tu mis un point d'arret sur Private Sub Commande273_Click() ?
Désolée de ce que je vais écrire mais je ne connais pas ton niveau de connaissance et d'après ton code tu as utilisé les assistants...
Quand tu places un point d'arret ta ligne est en rouge et il y a un point rouge dans la marge...
pile_poil
Messages postés682Date d'inscriptionvendredi 6 avril 2007StatutMembreDernière intervention 4 août 20126 6 juin 2008 à 11:11
bonjour
une idée à paufiner
sub bouton_click()
if bouton.caption = "premiere action" then
action1
else
action2
end ifif bouton.caption "premiere action" then bouton.caption "deuxieme action" else bouton.caption = "premiere action"
end sub
[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Ledude89
Messages postés14Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 4 juillet 2008 6 juin 2008 à 11:44
Non, je n'ia pasmis de point d'arrêt. Comment procéder ?
Tu as raison, mon niveau est celui d'un utilisateur d'assistants, donc, pas à l'aise avec le VBA pur. Merci entous cas.
Ledude89
Messages postés14Date d'inscriptionvendredi 6 juin 2008StatutMembreDernière intervention 4 juillet 2008 6 juin 2008 à 15:08
Ok, j'ai apporté les corrections.Merci, tout semble fonctionner.
Mais en fait le problème ne vient pas de là :
je viens de me rendre compte que la macro prédéfinie TransférerFeuilleCalcul (intégrée) ne se met pas à jour automatiquement. Elle s'éxécute correctement de façon aléatoire semble t'il.
Que je l'éxécute pas à pas, ou à partir d'un bouton de commande, je n'arrive pas à savoir pourquoi elle fonctionne ou pas. Est-ce que cela peut venir de mon environnement de travail (mauvaise interprétation du serveur ?) par exemple ?