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
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
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...
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
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.
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 ?