Ouvrir un fichier xls existant et travailler dessus

Signaler
Messages postés
9
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2003
-
Messages postés
9
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2003
-
Voilà, j'aimerais enffet, ouvrir un fichier excell déjà existant et lui affecté des données provenant de mes listboxs,testboxs, variables,...

Merci d'avances pour vos réponses
A+

3 réponses

Messages postés
122
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
8 août 2014
1
'Ouverture du fichier
X% = Shell("exel.exe toto.xls", 2)
DoEvents
Rep = DoEvents()
'Active la liaison DDE
'trans étant un textbox
trans.LinkTopic = "EXCEL|TOTO.XLS"
Rep = DoEvents()
trans.LinkItem = ""
Rep = DoEvents()
trans.LinkMode = 2

'Affecte une valeur
trans.LinkItem = "L10C4"
trans = "Toto"
Trans.linkpoke

'Agrandit la fenêtre
Cmd = "[APP.AGRANDISSEMENT()]"
trans.LinkExecute Cmd
Rep = DoEvents()

voila , bon courage....
0
Messages postés
91
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
2 novembre 2005

Salut,

Je vois ce ke tu ve faire.
Je te dis tout de suite que c'est pas le pied, et cé du genre fastidieux.

Voilà, un extrait d'un de mes progs,

Dim Livre As New Excel.Workbook 'le fichier tableur complet
Dim Feuille As New Excel.Worksheet 'la feuille sur laquelle tu veux travailler
Dim Fenetre As Excel.Window 'en fait, tu ouvres excel

' je me répète, c'est un code perso, il ouvre et créer un .xls et remplie une BdD access traduite par son Recordset ADO
' certaines astuces, comme pour lire le nom de fichier, sont intéressantes

Sub DBByExcel(FileName As String, rec As ADODB.Recordset)
Dim FileTab() As String
Dim FileLng As Long
Dim RowIndex As Long

Set Livre = Workbooks.Open(FileName, , True) ' on charge excel et le fichier .xls

' ton fichier est caché dans le N'ème rép de Windows XP dans Mes Documents, tu écris une fois la chaîne complète et tu extrait le nom de fichier (surtout pratique quand tu utilises les listes de fichiers ou le .OpenFile d'un contrôle CommonDialog

FileTab = Split(FileName, "")
FileLng = UBound(FileTab)

' la var fenetre est juste faite pour en écrire moins par après.

Set Fenetre = Livre.Windows(FileTab(FileLng))

' idem pour feuille qui est la var principale du code
' le code lit la donnée d'une case colonne après colonne et ligne après ligne pour les réécrire dans la base de données

Set Feuille = Livre.Sheets("feuil1")
Feuille.Activate
With Feuille
RowIndex = 1
Do While .Cells(RowIndex, 1) <> ""
rec.AddNew
For i = 1 To 7
rec(i - 1) = .Cells(RowIndex, i)
Next i
rec.Update
RowIndex = RowIndex + 1
Loop
End With

Fenetre.Close (False)
' on ferme la fenetre sans sauvegarder les modis (le False)

End Sub

Il est entendu qu'il te faut ajouter la bibliothèques Excel à ton programme...
Pour écrire dans le fichier .xls tu fais l'inverse de mon code :
Feuille.Cells ( ligne, colonne) = données.

J'espère que ca t'aidera

A plus

PrX
, :-p Initiate To VB6 And Completely Crazy
0
Messages postés
9
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
16 mai 2003

-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Je vois ce ke tu ve faire.
> Je te dis tout de suite que c'est pas le pied, et cé du genre fastidieux.
>
> Voilà, un extrait d'un de mes progs,
>
> Dim Livre As New Excel.Workbook 'le fichier tableur complet
> Dim Feuille As New Excel.Worksheet 'la feuille sur laquelle tu veux travailler
> Dim Fenetre As Excel.Window 'en fait, tu ouvres excel
>
> ' je me répète, c'est un code perso, il ouvre et créer un .xls et remplie une BdD access traduite par son Recordset ADO
> ' certaines astuces, comme pour lire le nom de fichier, sont intéressantes
>
> Sub DBByExcel(FileName As String, rec As ADODB.Recordset)
> Dim FileTab() As String
> Dim FileLng As Long
> Dim RowIndex As Long
>
> Set Livre = Workbooks.Open(FileName, , True) ' on charge excel et le fichier .xls
>
> ' ton fichier est caché dans le N'ème rép de Windows XP dans Mes Documents, tu écris une fois la chaîne complète et tu extrait le nom de fichier (surtout pratique quand tu utilises les listes de fichiers ou le .OpenFile d'un contrôle CommonDialog
>
> FileTab = Split(FileName, "")
> FileLng = UBound(FileTab)
>
> ' la var fenetre est juste faite pour en écrire moins par après.
>
> Set Fenetre = Livre.Windows(FileTab(FileLng))
>
> ' idem pour feuille qui est la var principale du code
> ' le code lit la donnée d'une case colonne après colonne et ligne après ligne pour les réécrire dans la base de données
>
> Set Feuille = Livre.Sheets("feuil1")
> Feuille.Activate
> With Feuille
> RowIndex = 1
> Do While .Cells(RowIndex, 1) <> ""
> rec.AddNew
> For i = 1 To 7
> rec(i - 1) = .Cells(RowIndex, i)
> Next i
> rec.Update
> RowIndex = RowIndex + 1
> Loop
> End With
>
> Fenetre.Close (False)
> ' on ferme la fenetre sans sauvegarder les modis (le False)
>
> End Sub
>
>
> Il est entendu qu'il te faut ajouter la bibliothèques Excel à ton programme...
> Pour écrire dans le fichier .xls tu fais l'inverse de mon code :
> Feuille.Cells ( ligne, colonne) = données.
>
> J'espère que ca t'aidera
>
> A plus
>
Merci les gars, je vais essayer ça!!
a+
>
> PrX
, :-p Initiate To VB6 And Completely Crazy
0