VBA - intégration tableau à partir de fichiers Excel

Bonjour,

Je souhaiterais importer plusieurs tableaux les uns à la suite des autres dans un classeur et que ces tableaux subissent des modifications. Je vous joins un tableau pour comprendre ma demande. Dans le tableau ci-joint, je souhaiterais que les colonnes C et D soient supprimées et une colonne A créée avec le code du livre qui se répètent sur chaque ligne. Je souhaite aussi une création d'une colonne "Solde" en dernière colonne qui me ferait la soustraction des colonnes K et L et qui deviennent I et J étant donné qu'on supprime C et D avant. Le top ça serait que ça se fasse lors de l'import via un bouton de formulaire qui me permet d'ajouter les tableau via des fichiers. En tout j'ai 9 fichiers qui doivent s'importer en tableau les uns sous les autres.

J'espère que je vous en demande pas beaucoup. Je suis prêt à faire le nécessaire pour apprendre VBA et pouvoir le faire moi-même mais sans votre aide ça risque d'être compliqué.

Merci pour votre aide.

16balance.xlsx (12.08 Ko)

Bonjour

le plus simple sera d'importer les feuilles des autres fichiers sur ce fichier...

La macro importera toutes les feuilles présentent sur ce fichier

maintenant si tu prefere on peut faire une macro avec le choix de fichier

11balance.xlsm (23.21 Ko)

A+ François

Bonjour Fanfan,

Merci pour ta réponse. Ton idée me plaît aussi. Comment est-ce qu'on si prend dans ces cas là stp ? Je rejoins un fichier avec trois feuilles pour être proche de la réalité.

Merci encore pour ton aide.

Cdt

11balance.xlsx (19.57 Ko)

Bonjour

Le fichier va chercher les données sur le fichier de ton choix

17balance.xlsm (25.46 Ko)

A+ François

Bonjour Fanfan,

Merci beaucoup pour ton aide. Mais j'ai un problème. Lorsque j'ai importé ta feuille dans mon classeur de données, j'ai également copié/collé le code source de la macro. J'arrive à sélectionner le fichier à ouvrir mais la macro ne me sort que la première ligne des tableaux source. Je pense que ça vient de l'exemple que je t'ai fourni où j'ai involontairement supprimé la première ligne qui est vide. Pourrais-tu me dire ce qu'il y a à changer sur ton code stp ?

Option Explicit

Sub import()
  Dim i As Long, livre As String, n As Long, ctrl As Boolean, j As Integer, sh As Byte
  Dim nomfich As Variant, wk As Workbook
  Set wk = ActiveWorkbook
  nomfich = Application.GetOpenFilename
  If nomfich = False Then Exit Sub
  Workbooks.Open nomfich ' Ouvrir le fichier sélectionné
  For sh = 1 To ActiveWorkbook.Sheets.Count
    If ActiveWorkbook.Sheets(sh).Name <> "Import" Then
     With ActiveWorkbook.Sheets(sh)
      For i = 1 To .Range("B" & Rows.Count).End(xlUp).Row
        If .Range("A" & i).Value = "Livre:" Then livre = .Range("B" & i).Value
        If .Range("A" & i).Value = "Compte" Then
          ctrl = True
        ElseIf ctrl = True And .Range("A" & i) <> "" Then
          If wk.Sheets("Import").[T_import].Item(1, 1) <> "" Then n = wk.Sheets("Import").[T_import].Rows.Count + 1 Else n = 1
           wk.Sheets("Import").[T_import].Item(n, 1) = livre
           wk.Sheets("Import").[T_import].Item(n, 2) = .Cells(i, 1).Value
           wk.Sheets("Import").[T_import].Item(n, 3) = .Cells(i, 2).Value
          For j = 5 To 12
            wk.Sheets("Import").[T_import].Item(n, j - 1) = .Cells(i, j).Value
          Next
        ElseIf ctrl = True And .Range("A" & i) = "" Then
          Exit For
        End If
      Next
     End With
     ctrl = False
    End If
  Next
  ActiveWorkbook.Close
End Sub

J'ai ajouté également un bouton pour supprimer les données de A2:L50000, est-ce que ça peut interférer avec ta macro stp ?

Merci par avance.
Cordialement.

Ah j'ai compris. C'est parce que j'ai supprimé les données sur la feuille import. Chose que j'ai oubliée de préciser c'est que chaque mois je viens supprimer toutes les données, pour venir en injecter des nouvelles qui ont bougées ou non. Je précise quand même que il y a toujours les mêmes infos aux mêmes endroits.

Cdt

Bonjour

Donne moi un fichier à importer sans aucune modif

en esperant qu'ils sont tous pareil

A+ François

Fanfan,

En faite, ton code initial marche très bien sur n'importe quel de mes fichiers. J'ai juste rajouté une macro qui supprime toutes les lignes 3:50000 et les cellules A2:K2 étant donné qu'il y a une formule en L2. Du coup, ça marche parfaitement avec ta macro qui fait super bien le travail.

Un grand merci à toi pour ton aide et mes respects.

Bonjour Fanfan,

Vous sauriez me dire ce que je dois faire pour ajouter un tableau qui est presque identique à celui que j'ai posté sur le sujet en question. La seule différence c'est que mon tableau s'étend jusqu'à la colonne R et que je n'ai pas besoin de la dernière colonne solde.

En ce qui concerne la colonne A, elle va bien chercher le livre dans la même cellule.

Merci par avance.

Rechercher des sujets similaires à "vba integration tableau partir fichiers"