VBA - intégration tableau à partir de fichiers Excel v2

Bonjour tout le monde, Fanfan38 (si tu me lis),

Lors de mon précédent sujet (Sujet ici), j'avais eu une grande aide de Fanfan38 pour importer des données depuis un fichier excel. Mon problème est sensiblement le même, mais avec un tableau un peu plus large. Je vous joins le fichier que Fanfan38 a mis en place et qui m'a aidé, pour repartir sur la même base. Malheureusement, j'ai des connaissances quasiment nulles en VBA et même avec plusieurs années de recherches sur google je n'y arriverai pas. J'ai essayé de modifier le tableau T_Import en ajoutant des colonnes et en important mon tableau mais ça mouline et ça bug au final.

Je reviens à mon sujet, le but est le même, suppression des colonnes C et D avec ajout de la colonne A, qui renseigne le livre (cellule B8). J'aimerai ajouter 5 colonnes en fin de tableau avec des formules que j'ai déjà mis en place mais ça je pourrai le faire qu'une fois que la macro finale.

Je sais que je peux d'ores et déjà ajouter des lignes vides avant le tableau d'import et que la macro fonctionne correctement. Je dis ça car je sais que je vais devoir ajouter des segments avant le tableau T_import.

J'espère que j'ai été assez explicite et je vous remercie par avance de votre aide.

15balance22.xlsm (32.00 Ko)

Bonjour à tous !

L'outil idoine pour lire, retraiter et restituer des données externes se nomme...... Power Query (nativement intégré dans Excel 2021)

Si cette direction vous semble possible...... n'hésitez pas.

Afin que ma compréhension soit parfaite, il s'agit bien de :

  • Lire un (ou des) classeur(s),
  • d'en extraire, à partir des feuilles ID, OD et AD (présentant un format identique), le tableau "Compte, Description...." dans sa totalité,
  • de combiner ces éléments en supprimant certaines colonnes et en ajoutant des champs spécifiques,
  • et enfin de restituer le résultat final sous la forme d'un tableau structuré.

Bonjour JFL,

Merci pour votre retour.
C'est exactement ça. Quand je viens importer mes balances (1 fichier par société) j'aimerais qu'elle s'intègre les unes à la suite des autres.

Je prends note de votre conseil en ce qui concerne power query.

Bonjour à tous de nouveau !

A partir d'un dossier ( à paramétrer dans la feuille "Paramètres"), la requête

  1. intègre toutes les feuilles des classeurs (sauf celles dont le nom contient "mport")
  2. Supprime les colonnes "C" et "D"
  3. Ajoute un champ "Livre"

Et restitue, sous la forme d'un tableau structuré, l'ensemble des balances.

Remarques : D'autres champs peuvent être ajoutés.

Pour tester le présent classeur avec quelques classeurs réels, mettre à jour le chemin du dossier (qui ne doit contenir que des classeurs à traiter) et, via le ruban, " Actualiser tout "

JFL,

Merci pour ton retour. Le problème étant que la racine où sont les fichiers peuvent changer à chaque fois et selon les utilisateurs. Est-ce qu'une macro comme celle jointe ne serait pas mieux ?

Bonjour à tous de nouveau !

...... Le problème étant que la racine où sont les fichiers peuvent changer à chaque fois et selon les utilisateurs. Est-ce qu'une macro comme celle jointe ne serait pas mieux ?

Le souci lié à l'emplacement des classeurs existe indépendamment de l'outil utilisé (VBA / PQ).

Ne jouant plus, depuis des décennies, avec VBA, je laisse les spécialistes poursuivre.

Hello, JFL, d_ste

Avec une table de paramètre où on indiquerait la liste de tous les emplacements dans un tableau à ligne variable sur une feuille excel, on peut ensuite aller taper sur chaque fichier avec PowerQuery sans besoin de VBA ?

@JFL : de retour mais pour pour combien de temps ... ?

@+

@+

Ohhhhhh un p'tit nouveau !

Pour revenir au sujet ça ne fonctionne pas

Voila le message que j'ai :

capture

Bonjour à tous de nouveau !

C'est un message d'erreur "classique". A priori, une simple option à modifier. Voir ici !

Du coup, voir ici il devait y avoir un lien ou c'est voir plus haut dans le sujet svp ?

Merci

Bonjour à tous de nouveau !

Il faut simplement cliquer sur "ici !" en vert dans le message précédent.

Hello,

Ne jouant plus, depuis des décennies, avec VBA, je laisse les spécialistes poursuivre.

Pour aider un petit peu celui qui a presque délaissé le VBA avant qu'il n'existe...

@ d_ste

Pour aider les intervenants à bien sélectionner le répertoire contenant ces fichiers, ce petit code permet de choisir ce répertoire, et de mettre à jour la requête.

Attention à bien configurer tous les postes conformément aux préconisations de l'excellent JFL (cette configuration n'est à effectuer qu'une bonne fois pour toute, tant qu'on ne change pas de version d'Excel)

Sub Import()
Dim Rep As Object
ChDir ThisWorkbook.Path
Set Rep = Application.FileDialog(msoFileDialogFolderPicker): Rep.Show
If Rep.SelectedItems.Count > 0 Then
    Range("CheminBalances") = Rep.SelectedItems(1)
    Range("BalancesCumulées").ListObject.QueryTable.Refresh False
Else
    MsgBox "Aucun répertoire sélectionné"
End If
End Sub

Bon courage

Edit : Oups, oublié de saluer Baroute78, qui effectivement, se fait de plus en plus rare. Bonne jourrnée

JFL,

J'ai toujours un problème avec un message d'erreur.

capture

Re-,

@d_ste (merci de ne pas utiliser la messagerie privée pour des questions se rapportant directement au sujet)

Ce code va ouvrir une fenêtre type "Explorateur", et tu choisis le répertoire contenant les fichiers à importer.

Une fois ce répertoire choisi, la requête Power Query va s'actualiser automatiquement

Bonjour Cousinhub,

J'ai une erreur quand je mets en place le bouton et la macro que tu m'as donnée.

Je modifie mon poste. La boite de dialogue s'ouvre mais ne reconnait aucun fichier excel.

capture1

Merci

RE-,

Vu que tu as un problème déjà avec la requête, ce message est "normal"

Les fichiers sont sur un serveur, sharepoint, drive...?

Et ils sont sous quel format? (xlsx, xlsm, xlsb...)?

Ils sont en .xls et sur un dossier dans mes téléchargements

Je lis bien ".xls"?

pas de xlsx ou xlsm?

Ouah, faut les passer en xlsx ou xlsm, PQ ne fonctionne pas avec ces fichiers "moyenâgeux"...

Yes .xls

Désolé si ma boite son au moyen age dans leur SI. Mais du coup, il aurait pas été plus simple de partir du fichier que j'ai joint initialement et qui dispose d'une macro de ce qu'a fait Fanfan38 et d'ajuster en ajoutant quelque colonne ?

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