cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016
-
27 août 2006 à 16:02
cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016
-
27 août 2006 à 18:07
Bonjour tout le monde.
Je veux un aperçu de ma feuille mais ça marche pas.
voilà mon code
Public appExcel As Excel.Application 'Application Excel
Public wbExcel As Excel.Workbook 'Classeur Excel
Public wsExcel As Excel.Worksheet 'Feuille Excel
Sub Export_Facture_Excel()
'ouverture d'Excel
Set appExcel = CreateObject("Excel.Application")
Set wbExcel = appExcel.Workbooks.Open(App.Path & "\Facture.xls")
Set wsExcel = wbExcel.Worksheets(1)
If Imprim = True Then
wbExcel.PrintOut
Else
wsExcel.Visible = xlSheetVisible
wbExcel.PrintPreview
End If
Fermer_Excel
End Sub
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 août 2006 à 16:23
Salut,
(je t'avais répondu sur le Topic où tu as laissé ton message)
je t'ai fait une correction ici :
If Imprim = True Then
wbExcel.PrintOut
Else
<strike>wsExcel.Visible = xlSheetVisible</strike>
wsExcel.Select
With appExcel
.Visible = True
.Activate ' *** SetFocus n'existe pas pour l'appli Excel, il faut tricher
.PrintPreview
End With
End If
Pour info, si ta feuille ne contient pas de données, Excel ne gère pas l'aperçu d'une feuille vierge.
Ps : il est plus 'conventionnel' et plus lisible de déclarer ses objets ainsi :
Excel : Dim xlApp
Classeur : Dim xlBook
Feuille : Dim xlSheet
Mais bon, c'est un choix !
@++
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016 27 août 2006 à 16:34
Merci pour ta réponse.
Je vais tester ça mais je dois tout refermer excel m'a encore planté, j'avais unbe erreur dans le code.
pour xlApp et la suite je suis d'accord. J'avais récupérer ça sur sur un autre site.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 août 2006 à 16:44
Quand tu testes ce genre d'application (qui ouvre Excel), attend toi à des plantages.
Le problème quand ça plante, Excel s'ouvre, mais ne se ferme pas (du moins le processus) et tes objets ne se vide pas (ils ont pourtant été initialisés).
Pour palier à cela, la première ligne de code à exécuter sera
On Error GoTo Saut
Puis place, juste avant de décharger tes objets (ou d'appeler la procédure le faisant) :
Saut:
MsgBox "Erreur n°" & Err.Number & ". " & Err.Description
Err.Clear
@++
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016 27 août 2006 à 16:59
Merci pour le conseil
Je viens de tester (en pas à pas pour eviter le plantage).
J'ai un message sur .Activate
"L'objet ne gère pas cette méthode ou cette propriété"
c'est vrai que la liste ne propose pas Activate tout seul.
j'ai essayé aussi activewindow et active workbook mais ça marche pas non plus
"utilisation incorrecte de la propiété"
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 août 2006 à 17:06
Bizarre, il va de soi que j'avais testé, et il me le prenez.
A la limite, essaie en l'occultant, en fait, au début ça ne me faisait pas l'aperçu, mais je ne savais pas si c'est parce qu'aucune donnée n'était affichée, ou si c'est cette histoire d'Activation.
@++
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016 27 août 2006 à 17:11
Excel s'ouvre bien, mais il ne vient pas à l'écran.
Comme j'ai un bouton d'impression direct et que ça marche, je crois que pour l'aperçu, je vais le mettre dans un OLE.
Je m'en suis déjà servi sur un autre projet et ça marche
cs_philippe
Messages postés71Date d'inscriptionjeudi 20 décembre 2001StatutMembreDernière intervention30 juin 2016 27 août 2006 à 18:07
Comme je te l'ai dit, pour l'impression directe, pas de problème.
Au lieu de faire l'aperçu via excel, je vais charger ma feuille dans un controle OLE.
J'en profite pour te poser une autre question qui n'a rien à voir.
Est ce que tu peux me confirmer que le bouton Imprimer du CommonDialog.ShowPrinter ne fait que sélectionner une imprimante et n'imprime rien.