Pb d'affichage de date dans Excel a partir de VB6 !
Bonjour,
Premier Point :
Dans mon interface je saisie une date au format jj/mm/yyyy, ensuite cette date je la recopie dans une case d’un fichier Excel.
Si par exemple, je saisie une date 21/07/1977, pas de problème, je retrouve bien ma date dans mon fichier Excel, mais par contre si je saisie 09/03/1988, et bien dans mon fichier Excel je vais avoir 03/09/1988 !!!! on dirait qu’il trie les chiffres du plus petit au plus grand !!!!!
Vous avez une petite idée pour m’aider ?
Second Point :
Dans mon IHM, je saisie une date, mon fichier Excel se réalise bien, je ferme Excel, je retape une nouvelle date dans mon IHM, et là le fichier Excel s’affiche mais vide !!!!! et quand je ferme Excel j’ai un message d’erreur : « Erreur d’execusion ‘1004’ ; la methode ‘~’ de l’objet ‘~’ a echoué » !!!!
Bon un bon déroulement, je suis obligé de saisire une date dans mon IHM, la création du fichier Excel se fait parfaitement bien, fermer Excel, fermer mon IHM et ensuite relancer mon IHM.
Vous avez une petite idée, pour lancer plusieurs fois de suite Excel sans relalancer mon IHM ?
Ci dessous mon code …..
Merci de votre aide
Sébastien
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
'------------------
' Remplir le fichier
'------------------
Private Sub NumCréation_Click(Index As Integer)
'Définition des variables
Dim DocExcel As Excel.Application
Dim Txt3 As String
Txt3$ = Text3.Text
'ouvre Excel
Set DocExcel = CreateObject("Excel.Application")
DocExcel.Visible = True
'supprime l'affichage des messages d'erreurs
DocExcel.DisplayAlerts = False
'ajoute un nouveau classeur
DocExcel.Workbooks.Add
'selectionne la feuille du classeur
DocExcel.Sheets("Feuil2").Select
'on supprime la feuille 2
DocExcel.ActiveWindow.SelectedSheets.Delete
'on fait pareil avec la feuille 3
DocExcel.Sheets("Feuil3").Select
'on supprime la feuille 3
DocExcel.ActiveWindow.SelectedSheets.Delete
'on selectionne la feuille 1 (la seule qui reste)
DocExcel.Sheets("Feuil1").Select
'on change le nom de celle ci
DocExcel.Sheets("Feuil1").Name = "Etiquette"
'Mise en page du document
With Worksheets("Etiquette").PageSetup
.LeftMargin = DocExcel.InchesToPoints(0.32)
.RightMargin = DocExcel.InchesToPoints(0)
.TopMargin = DocExcel.InchesToPoints(0)
.BottomMargin = DocExcel.InchesToPoints(0)
.HeaderMargin = DocExcel.InchesToPoints(0)
.FooterMargin = DocExcel.InchesToPoints(0)
End With
'Text dans Cellule B4
DocExcel.Range("B4").Select
DocExcel.Selection.Font.Size = 8
DocExcel.ActiveCell.FormulaR1C1 = Txt3
End Sub |
Pour le pb de date c'est OK
Re bonjour,
Pour le problème de date, en faite dans mon programme j’ai modiffié :
Code:
DocExcel.ActiveCell.FormulaR1C1 = Txt3
Par :
Code:
DocExcel.ActiveCell.FormulaR1C1Local = Txt3
Et donc maintenant quand je saisie une date 09/03/1988, dans mon fichier Excel je retrouve bien 09/03/1988
Donc cette partie est résolue :D
Sébastien
Pb pour la fermeture de Excel ?
ReRe-bonjour,
Mais pour mon second problème, j’ai rajouté en début de programme :
Code:
1 2 3
| Dim DocExcel As Excel.Application
Dim ClasseurExcel As Excel.Workbook
Dim FeuilleExcel As Excel.Worksheet |
Et à la fin :
Code:
1 2 3 4
| Set DocExcel = Nothing
Set ClasseurExcel = Nothing
Set FeuilleExcel = Nothing
Excel.Application.Quit |
Mais j’ai toujours le même probleme : dans mon IHM, je saisie une date, mon fichier Excel se réalise bien, je ferme Excel, je retape une nouvelle date dans mon IHM, et là le fichier Excel s’affiche mais vide !!!!! et quand je ferme Excel j’ai un message d’erreur : « Erreur d’execusion ‘1004’ ; la methode ‘~’ de l’objet ‘~’ a echoué » !!!!
Bon un bon déroulement, je suis obligé de saisire une date dans mon IHM, la création du fichier Excel se fait parfaitement bien, fermer Excel, fermer mon IHM et ensuite relancer mon IHM.
Pourquoi ???
Merci pour votre aide,
Sébastien
Fermeture Excel OK, mais impossible de le relancer !!!
Encore moi,
Quand je met :
Code:
1 2 3 4
| Set FeuilleExcel = Nothing
Set ClasseurExcel = Nothing
Excel.Application.Quit
Set DocExcel = Nothing |
Je tape mes informations dans mon IHM, Excel se lance correctement et se ferme correctement (il me semble !), je re-tape des informations dans l’IHM et là, le lancement de Excel se plante sur :
Code:
1 2
| 'Mise en page du document
With Worksheets("Etiquette").PageSetup |
Sébastien