Recuperer le contenu d'1 fichier excel en VB6

Résolu
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

Résumé de la discussion

Extraction de données d’un fichier Excel source vers un autre fichier via VB6 pour automatiser le transfert des données, en gérant les ouvertures, lectures et écritures, et en assurant la synchronisation entre les classeurs. Des échanges recommandent d’employer le modèle Excel avec VB6 et des objets COM pour ouvrir les classeurs, lire et écrire des plages, et sauvegarder, avec des extraits de code illustrant ces opérations. D’autres proposent d’utiliser un moteur de base de données, tel DBEngine ou ADO, pour interroger Excel comme source de données et transférer les enregistrements vers le fichier cible.

Bobot (l’IA à votre service)
  1. 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
    1. 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
      1. 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
        1. salut
          est ce que tes fichiers sont des .XLS ou des .CSV?
          0
          1. 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
            1. je doit le piloter a partir d'une interface
              0
              1. 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
                1. sam3000,

                  ya pas de fichier dans exemple connection fichier excel
                  0
                  1. 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
                    1. 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
                      1. je suis entrain de tester ton code aprés je vous dirai si ca marche
                        merci beaucoup lupin
                        0
                        1. re:

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

                          Lupin
                          0
                          1. 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
                            1. 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
                              1. 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
                              2. Bonjour,

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

                                Je te remercie d'avance de ton aide
                                0
                            2. 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
                              1. 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
                                • 1
                                • 2

                                Discussions similaires

                                question pix mot caché

                                7 réponses