Recuperer le contenu d'1 fichier excel en VB6 [Résolu/Fermé]

Signaler
-
Messages postés
2
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
20 mai 2009
-
Bonjour forum

j'ai un fichier excel (source) dont je doit recuperer les données pour le mettre dans un autre fichier excel.
tout doit etre piloter en VB6
si quelqu'un peut m'aider à le faire,je lui serai reconnaissant
merci d'avance

24 réponses


Bonjour Amandine,

Voila, j'ai coder un petit exemple :

1 textbox avec le nom du fichier
1 textbox contenant le résultat d'une lecture
1 textbox contenant le résultat d'une écriture

4 boutons
-Ouverture
-Lecture
-Ecriture
-Ferneture

' Déclaration des variables globales des objets fichiers
Dim oFS As Object
Dim oLecteur As Object

' Déclaration des variables globales du classeur EXCEL
'
Dim xlApp, xlBook, xlChart, xlRange As Object 'Objets classeur
Dim xlWhs, iRows, iCols, iRotate As Object 'Objets feuille
'
' Déclaration des variables du fichier
Dim Fichier As String
Dim Disque As String
'

Private Sub cmd_Ecrire_Click()
xlRange.Cells(1, 1).Value = tbx_Ecriture.Text
End Sub
'

Private Sub cmd_FermerExcel_Click()
xlApp.Visible = True
xlRange.Cells(1, 1).Select
xlApp.DisplayAlerts = False
xlBook.SaveAs Fichier
xlApp.Quit
xlApp.DisplayAlerts = True

Set xlRange = Nothing
Set xlChart = Nothing
Set xlWKS = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
MsgBox "Fichier fermé"
End Sub

Private Sub cmd_Lire_Click()
tbx_Lecture.Text = xlRange.Cells(1, 1).Value
End Sub
'

Private Sub cmd_OuvrirExcel_Click()

'Lecture du nom du fichier
Fichier = tbx_NomCompletFichier.Text

' Capture de la lettre du lecteur à écrire
Disque = Mid(Fichier, 1, 2)
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oLecteur = oFS.GetDrive(Disque)
If (oLecteur.IsReady) Then
' Création de l'objet Excel (une classe)
Set oFS = CreateObject("Scripting.FileSystemObject")
Set xlApp = CreateObject("Excel.Application")
'Vérification de la présence du classeur
If (FichierExistant(Fichier) = True) Then
' Ouverture du classeur
Set xlBook = xlApp.Workbooks.Open(Fichier)
Else
' Création du classeur
xlApp.SheetsInNewWorkbook = 1
Set xlBook = xlApp.Workbooks.Add
End If

' Positionnement à l'intérieur du classeur
Set xlWKS = xlBook.Worksheets(1)
Set xlRange = xlWKS.Range("A1:A65535")
MsgBox "Fichier Ouvert"
End If

End Sub
'

Private Sub cmd_Quitter_Click()
Unload Me
End Sub
'

Function FichierExistant(NomFichier) As Boolean

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")
FichierExistant = fso.FileExists(NomFichier)
Set fso = Nothing

End Function

Lupin
4
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 56954 internautes nous ont dit merci ce mois-ci

Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
140
tu devra utiliser un moteur de base de donnees (les XLS peuvent etres considéré comme une base de donnees dans DBEngine ou ADO par exemple) pour ouvrir le premier fichier
la base : fichier.xls
les tables : feuil1, feuil2 ...
et tu fait des requetes pour lire les donnees

Bonjour Amandine,

voici un exemple de VBS pour piloter Excel, le code est transposable sous VB assez facilement !

http://www.oricom.ca/lupin/document/excelvbs.txt

si ce n'est pas clair, dis le, je pourrai te guider !

Lupin

re:

avec ces lignes, tu peux soit lire le contenu, soit écrire le contenu,
bien sur, il te faudra créer une boucle pour lire une plage donnée.

ex.: pour insérer les données dans une liste déroulante !

Private Sub cmd_Lire_Click()

Dim I,J as integer

For I = 1 to 10
For J = 1 to 10
ComboBox.AddItem xlRange.Cells(I, J).Value
Next J
Next I

End Sub

Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
140
salut
est ce que tes fichiers sont des .XLS ou des .CSV?
les fichiers sont des xls
Messages postés
1612
Date d'inscription
vendredi 26 novembre 2004
Statut
Membre
Dernière intervention
30 mars 2006
145
tu lances l'enregistreur de macros
tu fais te copies manu
tu arrêtes l'enregistement
tu vas dans visual basic Editor
c'est prêt
je doit le piloter a partir d'une interface
bonjour Sam3000, bojour lupin et le forum,

sam3000, j'ai déja fait ce que tu dit mais ça ne marche pas, j'ai probléme au niveau de la connection.

Lupin si tu pouvais me guider ce serait mieux car je ne comprend pas le vbs
merci d'avance
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
140
salut,
voici un exemple complet d'utilisation de Excel (comme une base de donnees) avec VB6 et ADO

http://membres.lycos.fr/sam3000/v2/index.php?act=shares
sam3000,

ya pas de fichier dans exemple connection fichier excel
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
140
bien sur que si!
tu ouvre la page et tu clique sur le nom de l'exemple
c'est un fichier dont le nom est "VB_ADO_EXCEL.zip"

http://membres.lycos.fr/sam3000/v2/shr/VB_ADO_EXCEL.zip
j'ai cliké sur la premiere adresse mé y'a rien dans les fichiers
et pour la deuxieme adresse c'est du turbo pascal
bonjour lupin
je vais tester ton code
mé est ce qu'il permet de copier le contenu du fichier source?
merci pour ton aide
je suis entrain de tester ton code aprés je vous dirai si ca marche
merci beaucoup lupin

re:

Note: Je n'ai pas initier l'object xlChart, celui-ci servant
a gérer un graphique.

Lupin
Bonjour Lupi, bonjour forum

j'ai tester ton code mais yades errurs de compilation sutout sur xlRange.Cells(1, 1).Value = tbx_Ecriture.Text

le tbx_Rcriture.text fait référence à quoi?
merci
salut amandine,
puisque tu n'arrive pas a telecherger le code sur l'adresseje ne sais pas pq d'ailleurs):

http://membres.lycos.fr/sam3000/v2/index.php?act=shares

je pourrais te l'envoyer par email (je réecris car tu continue à galérer, alors qu'une solution existe).
Messages postés
2
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
20 mai 2009

sam3000,
je viens de m'inscrire sur ce forum. J'ai rencontré le même problème que Amandine alors que ce code m'intéresse beaucoup vu que tous mes collègues travaillent sous excel tandis que moi, je dois assembler tous ces fichiers xls en un fichier unique dans le but de l'exporter sous access

Merci d'avance de ta réponse
Messages postés
2
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
20 mai 2009

Bonjour,

Est que tu pourras l'envoyer par mail stp sam3000.

Je te remercie d'avance de ton aide
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
140
je sais pourquoi vous n'arrivez pas à trouver les liens sur les fichiers! il faut attendre un petit moment jusqu'à ce que les publicités de mon hebergeur soient réduites (ah! lycos)

Bonjour Amandine,

J'ai créé 3 textboxs pour mon petit exemple :
1 textbox avec le nom du fichier [ tbx_NomCompletFichier ]
1 textbox contenant le résultat d'une lecture [ tbx_Lecture ]
1 textbox contenant le résultat d'une écriture [ tbx_Ecriture ]

ainsi que 4 boutons de contrôle :
-Ouverture [ cmd_OuvrirExcel ]
-Lecture [ cmd_Lire ]
-Ecriture [ cmd_Ecrire ]
-Ferneture [cmd_FermerExcel ]

Ces contrôles ne servent qu'a tester l'exemple, il te faudra les
transposer dans ton application.

La routine cmd_Lire_Click te permet de lire le contenu d'un fichier
Excel en récupérant dans une variable [MaVariable].

Private Sub cmd_Lire_Click()
MaVariable = xlRange.Cells(1, 1).Value
End Sub

La routine cmd_Ecrire_Click te permet d'écrire le contenu d'un fichier
Excel en lui donnant le contenu d' une variable [MaVariable].

Private Sub cmd_Ecrire_Click()
xlRange.Cells(1, 1).Value = MaVariable
End Sub

Lupin