virginie1575
Messages postés12Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention29 juin 2004
-
29 juin 2004 à 13:21
virginie1575
Messages postés12Date d'inscriptionmardi 13 janvier 2004StatutMembreDernière intervention29 juin 2004
-
30 juin 2004 à 19:36
Voila, mon probleme est le suivant. J'ai créer un modele excel que je remplie grace à VB. Une fois le fichier rempli, je souhaiterai demandé à l'utilisateur s'il souhaite ouvrir le fichier qui vient d'etre générer. Seulement, il n'y a que le contour d'excel qui s'ouvre (comme un vieux bug d'affichage). Suite à cela, j'ai essayer d'ouvrir le fichier via l'explorateur, en ayant pris soin de faire
Excel.Application.ActiveWorkbook.Close (False)
Excel.Application.Quit
dans mon application. Le problème, c'est que le fichier excel n'est pas ouvrable tant que l'utilisateur ne quitte pas le programme (c genant). Et j'ai remarqué que dans les processus, un excel.exe trainait encore alors qu'il est correctement fermé puisque plus accessible en débugage.
Je suis à cours d'idée pour remédier au problème.
Quelqu'un aurait-il une solution ???
Merci d'avance
Range("poste1").Select
ActiveCell.Offset(0, 0).FormulaR1C1 = TB_EXCEL(1, 1) 'libelle poste
For i = 1 To nb_poste
ActiveCell.Offset(i, 1).FormulaR1C1 = TB_EXCEL(i + 1, 4) 'montant poste
ActiveCell.Offset(i, 2).FormulaR1C1 = TB_EXCEL(i + 1, 4) / total 'pourcentage poste
ActiveCell.Offset(i + 1, 0).FormulaR1C1 = TB_EXCEL(i + 2, 1) 'libelle poste
Next i
ActiveCell.Offset(i, 0).FormulaR1C1 = "Totaux"
ActiveCell.Offset(i, 1).FormulaR1C1 = total
ActiveCell.Offset(i, 2).FormulaR1C1 = "1"
End If
nom_fichier = "" & PARAM(1, 1) & "Excel" & Format(Now(), "dd_mm_yy") & Left(nom, 3) & Format(Now(), "hhnn") & ".xls"
'Enregistrement du fichier excel créé
Excel.Application.ActiveWorkbook.SaveAs nom_fichier
'Fermeture du modele excel
Excel.Application.ActiveWorkbook.Close (False)
'Fermeture d'excel
Excel.Application.Quit
Screen.MousePointer = vbDefault
msg = "Le fichier excel a été placé sur " & Chr(13) & nom_fichier '& Chr(13) & "Voulez-vous l'ouvrir ?"
MsgBox msg, vbInformation, "Traitement terminé"
' If MsgBox(msg, vbInformation + vbYesNo, "Traitement terminé") = vbYes Then
' excel.Application.Workbooks.Open (nom_fichier)
' excel.Application.Visible = True
' End If
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 29 juin 2004 à 21:15
salut,
j'ai jeté un coup d'oeil, et je n'ai pas eu spécialement de pb, ce que je peux dire c'est que l'application excel ne se faire quand la MSGBOX est validé, pas avant.
pour valider le test j'ai quand meme dû ajouter la référence excel. et ajouter 2 lignes supplémentaires.
je te donne ce que j'ai en plus, mais en tout état de cause elle se ferme bien, alors peut etre que le pb vient du code que je n'ai pas pu tester.
Dim Excel As New Excel.Application
Set Excel = CreateObject("Excel.application")
Excel.Application.Workbooks.Open App.Path & "\sample1.xls"
Excel.Application.Visible = True
Excel.Application.Sheets("Feuil1").Select
Excel.Application.Sheets("Feuil1").Name = "nom"
'Range("poste1").Select
'ActiveCell.Offset(0, 0).FormulaR1C1 = TB_EXCEL(1, 1) 'libelle poste
'For i = 1 To nb_poste
'ActiveCell.Offset(i, 1).FormulaR1C1 = TB_EXCEL(i + 1, 4) 'montant poste
'ActiveCell.Offset(i, 2).FormulaR1C1 = TB_EXCEL(i + 1, 4) / total 'pourcentage poste
'ActiveCell.Offset(i + 1, 0).FormulaR1C1 = TB_EXCEL(i + 2, 1) 'libelle poste
'Next i
'ActiveCell.Offset(i, 0).FormulaR1C1 = "Totaux"
'ActiveCell.Offset(i, 1).FormulaR1C1 = total
'ActiveCell.Offset(i, 2).FormulaR1C1 = "1"
'End If
'nom_fichier = "" & PARAM(1, 1) & "Excel" & Format(Now(), "dd_mm_yy") & Left(nom, 3) & Format(Now(), "hhnn") & ".xls"
'Enregistrement du fichier excel créé
'Excel.Application.ActiveWorkbook.SaveAs nom_fichier
'Fermeture du modele excel
Excel.Application.ActiveWorkbook.Close (False)
'Fermeture d'excel
Excel.Application.Quit
Screen.MousePointer = vbDefault
msg = "Le fichier excel a été placé sur " & Chr(13) & nom_fichier '& Chr(13) & "Voulez-vous l'ouvrir ?"
MsgBox msg, vbInformation, "Traitement terminé"
' If MsgBox(msg, vbInformation + vbYesNo, "Traitement terminé") = vbYes Then
' excel.Application.Workbooks.Open (nom_fichier)
' excel.Application.Visible = True
' End If