Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 13/03/2010, 11h19   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 9
Points : 0
Points : 0
Par défaut Fusionner des tables Excel

Bonjour à tous

J'aimerais savoir s'il existe du code libre en vba pour fusionner deux tables contenues dans 2 feuilles Excel différentes, et qui partagent des colonnes communes (même en-tête et même type de données). J'ai trouvé diverses solutions payantes, mais qui me semblent un peu chères pour l'usage que je veux en faire (de plus, je veux pouvoir l'utiliser au boulot, et là, c'est certain, pas possible de convaincre mon service IT d'acheter ce genre de plug-ins). Par exemple:
- http://www.ablebits.com/excel-lookup-tables/index.php
- http://www.sobolsoft.com/exceljoin/
Je ne suis qu'un programmeur du dimanche en VBA, mais les quelques projets sur lesquels j'ai travaillé me laissent penser que créer un script qui remplit cette tâche (sans peut-être toutes les fonctionnalités de ces soft payants), n'est pas une tâche qui me prendra des mois, en particulier via l'utilisation d'ADO (utilisation de commande SQL appropriées). Mes tables ne sont pas monstrueuses (quelques centaines de lignes), la vitesse n'est donc pas un problème.

Ma question est donc double:
- connaissez-vous un script libre (ou au moins gratuit) qui fasse ce type de chose?
- si non, pensez-vous que celà soit très compliqué?

Désolé si je suis passé à côté de ce code sur ce site, mais j'ai essayé plusieurs termes (merge, join, fusionner...), qui ne m'ont pas permis de trouver ce que je cherche.

Merci par avance

Dernière modification par sirfratus ; 13/03/2010 à 16h30.
sirfratus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 12h10   #2
Expert Confirmé Sénior
 
Avatar de jacques_jean
 
Homme Jacques THERY
CBPDI(Congés Bien Payés/Durée Indéterminée)
Inscription : janvier 2006
Messages : 2 960
Détails du profil
Informations personnelles :
Nom : Homme Jacques THERY
Âge : 67
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : CBPDI(Congés Bien Payés/Durée Indéterminée)

Informations forums :
Inscription : janvier 2006
Messages : 2 960
Points : 5 000
Points : 5 000
Bonjour,

A priori, fusionner deux tables n'est pas très compliqué. Encore faut-il savoir de quelle type de fusion on parle ?

- Ajouter les enregistrements d'une table dans l'autre ?
- Additionner des valeurs pour des enregistrements ayant une clé commune ?

Il faudrait avoir au moins un exemple.
jacques_jean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 16h26   #3
Invité de passage
 
Inscription : septembre 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 9
Points : 0
Points : 0
Par défaut Précisions

En fait, il s'agit de réaliser ce qui est très joliment illustré sur la page:
http://www.ablebits.com/excel-lookup-tables/index.php
(sauf peut-être la fonction update...)

Ex: 2 feuilles avec certaines colonnes communes
- table A avec Nom | Prénom | Age | Sexe
- table B avec Nom | Prénom | Adresse | Code Postal | Ville
pour faire une nouvelle table C avec Nom | Prénom | Age | Sexe | Adresse | Code Postal | Ville (ou mettre à jour la table A pour obtenir le même résultat)
... sachant que parfois certains noms présents en A seront absents en B et inversement (dans ce cas, créer des lignes partiellement remplies, cf. les captures d'écran du lien ci-dessus).

Je n'ai que quelques connaissances assez basiques en VBA, mais il m'est arrivé d'utiliser la bibliothèque ADO pour accéder à des données (lecture/écriture, je n'avais pas utilisé plus de fonctionnalités alors), et il m'a semblé que l'outil était très puissant et permettait d'utiliser la puissance du SQL assez facilement (que je ne connais que superficiellement aussi, mais je sais que c'est très puissant). Est-ce le cas?
En fait, je pose la question car je suis assez étonné de ne pas avoir trouvé de code adéquat après 2 bonnes heures de recherches, alors que je pensais que ce type de problème était courant et que je n'aurais aucun mal à trouver une solution VBA libre déjà existante...
sirfratus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2010, 13h27   #4
Invité de passage
 
Inscription : septembre 2008
Messages : 9
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 9
Points : 0
Points : 0
Par défaut Idées?

Personne n'a d'idées sur la difficulté technique? C'est vraiment sur l'algorithme de la fusion de table que je me pose des questions. Le reste (sélection des tables etc... en gros l'interface graphique) ne me fait pas spécialement peur.
sirfratus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 03h48.


 
 
 
 
Partenaires

Hébergement Web