cs_tino67
Messages postés15Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention23 mars 2015
-
10 juin 2010 à 01:51
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
10 juin 2010 à 11:33
Bonjour, voici mon soucis
j'ouvre un fichier excel, que j'enregistre en format xls avec ( saveFichierExcel.Filter <gras>"Fichiers Excel (*.xls)|*.xls" celà marche mais lorsque j'ouvre le fichier à partir de Excel j'ai ce message " Le format du fichier "bidul.xls que vous tentez d'ouvrir est différent de celui spécifier par l'extension du fichier...vérifier si le fichier est endommagé..." avec excel 2007 ça marche quand je clic sur continuer mais avec excel XP j'ai un fichier avec plein de code bizarre. Je pense qu'il est en format xlsx car en plus quand je remplace la ligne précédente par saveFichierExcel.Filter</gras> "Fichiers Excel (*.xlsx)|*.xlsx" je n'ai plus ce problème sauf que je veux en format .xls
voici mon code, je suis sur VB2008 et j'ai ajouté en référence Microsoft Excel 12.0 à mon projet.
MERCI D'AVANCE.
savepointage() 'sauve résultat du pointage dans un ecxel
Dim chemin As String
Dim appxls As Microsoft.Office.Interop.Excel.Application
Dim Book As Microsoft.Office.Interop.Excel.Workbook
Dim saveFichierExcel As New SaveFileDialog()
Dim tourmax As Integer
If saveFichierExcel.ShowDialog() = Windows.Forms.DialogResult.OK Then
appxls = New Microsoft.Office.Interop.Excel.Application
Book = appxls.Workbooks.Add ' Ajout d'un classeur
chemin = saveFichierExcel.FileName
"ecriture dans le fichier
'Enregistrer sous le classeur
Try
appxls.ActiveWorkbook.SaveAs(chemin)
Catch ex As Exception
MessageBox.Show("Impossible d'enregistrer : vérifiez que le fichier Excel n'est pas déjà ouvert " & ex.Message)
End Try
Else
Exit Sub
End If
Book.Close(True, , )
appxls.Quit()
Book = Nothing
appxls = Nothing
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 juin 2010 à 10:45
Salut
Comme on le répète à longueur de temps : "enregistre une macro pendant que tu fais la manip à la main" et tu auras le code exact à utiliser :
Dans ton cas, tu demandes à l'utilisateur de choisir un fichier XLS.
Oui, mais l'extension d'un fichier ne présume pas de son contenu.
En faisant un simple SaveAs ne suffit pas puisque le format d'enregistrement par défaut est XLSX.
cs_tino67
Messages postés15Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention23 mars 2015 10 juin 2010 à 11:29
C'est bon je pense avoir trouvé il faut que je mette FileFormat:=Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8 et pas seulement FileFormat:=xlExcel8
cs_tino67
Messages postés15Date d'inscriptionlundi 9 février 2009StatutMembreDernière intervention23 mars 2015 10 juin 2010 à 11:18
Merci, tu viens de me forcer à apprendre comment faire un macro sous excel !! Je n'avais jamais vraiment osé en utiliser mais en fait avec le "enregistre une macro pendant que tu fais la manip à la main" c'est plutôt ludique.
Moi aussi excel me donne bien le même code que toi pour le fileformat donc xlExcel8 mais quand je le mets dans mon projet sous VB 2008 il me met "Le nom 'xlExcel8'" n'est pas déclaré.