Recuperer le contenu d'1 fichier excel en VB6

Résolu/Fermé
Amandine - 13 mai 2005 à 16:16
Essera Messages postés 2 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 20 mai 2009 - 20 mai 2009 à 07:28
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

Utilisateur anonyme
16 mai 2005 à 15:36
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
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
13 mai 2005 à 17:04
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
3
Utilisateur anonyme
13 mai 2005 à 17:35
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
1
Utilisateur anonyme
16 mai 2005 à 16:08
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

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
13 mai 2005 à 16:20
salut
est ce que tes fichiers sont des .XLS ou des .CSV?
0
les fichiers sont des xls
0
random Messages postés 1612 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 30 mars 2006 155
13 mai 2005 à 16:24
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
0
je doit le piloter a partir d'une interface
0
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
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
16 mai 2005 à 12:09
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
0
sam3000,

ya pas de fichier dans exemple connection fichier excel
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
16 mai 2005 à 13:49
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
0
j'ai cliké sur la premiere adresse mé y'a rien dans les fichiers
et pour la deuxieme adresse c'est du turbo pascal
0
bonjour lupin
je vais tester ton code
mé est ce qu'il permet de copier le contenu du fichier source?
merci pour ton aide
0
je suis entrain de tester ton code aprés je vous dirai si ca marche
merci beaucoup lupin
0
Utilisateur anonyme
16 mai 2005 à 17:22
re:

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

Lupin
0
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
0
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).
0
Essera Messages postés 2 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 20 mai 2009
20 mai 2009 à 07:26
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
0
Essera Messages postés 2 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 20 mai 2009
20 mai 2009 à 07:28
Bonjour,

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

Je te remercie d'avance de ton aide
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
17 mai 2005 à 11:57
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)
0
Utilisateur anonyme
17 mai 2005 à 12:57
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
0