Bonjour j'ai suivi les tuto et faq pour exporter une requête acess dans Excel. Jusque là pas de soucis. Le problème est qu'après je souhaite mettre en forme mon fichier Excel.
La première fois que lance ma macro pas de souci, Access exporte la requête et met en forme le fichier Excel. Mais si je relance ma macro immédiatement, il plante.
J'ai pu identifié la cause: Exel reste actif à la fin de ma macro dans le gestionnaire des taches. Dès lors ma macro plante lorsque je la relance à l'instruction:
Apparement c'est le fait d'utiliser l'objet Range qui fait planter=>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 With oSht.Range(Cells(1, 1), Cells(nbmission + 1, w)).Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With
Erreur d'écéution 1004 : la méthode 'Cells' de l'objet '_Global' a échoué
Si je supprime cette instruction , je n'ai pas de problèmes, je peux lancer ma macro autant de fois d'affilée, ca ne plante pas et dans le gestionnaire des taches je constate que Excel a, à la fin de ma macro, disparu.
C'est un peu embêtant. Pour le moment la seule solution pour contourner ce problème c'est de ne pas utiliser l'objet Range mais ca signifie que je dois mettre en forme mes cellules une par une au moyen deux boucles et cela ralenti considérablement ma macro.
Je précise que la fin de ma macro se termine bien par
MAis apparement ca ne suffit pas pour fermer de manière stricte Excel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Set oSht = Nothing oWbk.Save oWbk.Close Set oWbk = Nothing oAppExcel.Quit Set oAppExcel = Nothing
Quelqu'un aurait des idées pour m'aider? Une instruction qui force Excel à fermer à la fin de ma macro?
Merci d'avance
Partager