Créer une fonction sous VB2008 qui permet de créer, ouvrir et écrir dans un fich

saimyas Messages postés 10 Date d'inscription jeudi 7 avril 2011 Statut Membre Dernière intervention 19 mai 2011 - 7 avril 2011 à 16:01
cs_atot Messages postés 9 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 26 mai 2011 - 26 mai 2011 à 17:48
Bonjour tout le monde (je m'excuse si c'est pas le bon emplacement pour poser ma question car je suis nouvelle sur ce forum...)

Tout d'abord je tiens à remercier toute personne qui s'interesse à lire ma question posé et je serai reconnaissante à ceux qui peuvent m'apporter de l'aide... :)

Donc j'ai un programme écrit sous VB6 qui permet de déclarer une fonction Excel pour créer un fichier Excel et l'utiliser dans le reste du code et pouvoir enregistrer les résultat de la simulation d'un logiciel dans ce fichier (le fichier excel active dans le bureau).

Voici le code de la fonction sous VB6:

Function StartExcel(file_name As String)

Dim Excel

On Error Resume Next

Set Excel = New Excel.Application
Application.DisplayAlerts = False


Workbooks.Add
ActiveWorkbook.SaveAs FileName:=file_name _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

Application.DisplayAlerts = True

Excel.Visible = True

Workbook.Select
Sheets(1).Select
Cells.Clear


End Function

Ce code marche à merveille sous VB6 par contre la migration du code vers Visual Basic 2008 montre qu'il y a des erreurs... Tél que la fonction n'est pas pris en compte par le reste du code, donc il faut redefinir Excel (comme si ont le crée de nouveau) ce qui menne à la création de plusieurs fichiers excel à l'execution du programme alors que j'ai besoin d'un seul...

Svp j'attend avec impatience votre aide pour avancer...

Je vous Remercie vivement :)

24 réponses

cs_atot Messages postés 9 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 26 mai 2011
26 mai 2011 à 12:18
Merci Le Pivert

Le probleme c'est qu'il reste sur la deuxieme ligne et tourne en rond . J'arrive pas à lui dire que cette ligne est deja ecrite ou a garder les coordonnées de la derniere ligne si tu a une idéé car je fais comme la boucle je tourne en rond !!!!!!
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
26 mai 2011 à 17:07
J'ai un peu de difficulté à sélectionner la dernière ligne en VB2008.
Ce que je te propose et qui fonctionne. C'est de mettre ce code dans ThisWorBook de ton classeur. Cela sélectionne la dernière ligne à l'ouverture.

Private Sub Workbook_Open()
Dim Derniereligne As Integer
 Sheets("Feuil1").Select
Derniereligne = Cells(Cells.Rows.Count, "A").End(xlUp).Row
 Rows(Derniereligne).Select
End Sub

Ensuite dans ton code VB2008 ce code:

Dim ApExcel As Object
        ApExcel = CreateObject("Excel.application") 'creer un objet
        ApExcel.Application.DisplayAlerts = False
        ApExcel.Visible = True ' vous pouvez voir Excel
        ApExcel = CreateObject("Excel.application")
        ApExcel.Workbooks.Open(Filename:="Chemin du classeur.xls")
        ApExcel.ActiveCell(2, 1).Value = Now
        ApExcel.ActiveCell(2, 2).Value = L_Nom_Campagne.Text
        ApExcel.ActiveCell(2, 3).Value = L_cadence.Text
        ApExcel.ActiveCell(2, 4).Value = L_Compteur.Text
        ApExcel.ActiveWorkbook.SaveAs(Filename:= _
               "Chemin du classeur.xls", _
                 Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
                False, CreateBackup:=False) 'on enregistre le classeur
        ApExcel.Application.DisplayAlerts = True
        ApExcel.ActiveWorkbook.Close() 'on ferme le classeur
        ApExcel.Visible = False 'on ferme Excel


@+Le Pivert
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
26 mai 2011 à 17:09
J'ai mis 2 fois:

ApExcel = CreateObject("Excel.application")

Tu en supprimes un

Le Pivert
0
cs_atot Messages postés 9 Date d'inscription vendredi 8 février 2008 Statut Membre Dernière intervention 26 mai 2011
26 mai 2011 à 17:48
Merci le pivert

Je me demande si c'est pas office 2010 qui me bloque impossible de sauter une ligne meme avec le code dans ThisWorBook cett nouvelle version c de la *******. Je galere, en tous les cas merci pour tes reponses
0
Rejoignez-nous