#1 Fri 09 March 2007 09:05
- Emil'
- Participant actif
- Lieu: Plaisir
- Date d'inscription: 7 Mar 2007
- Messages: 132
Une moulinette VBA pour nettoyer une BDD
Bonjour à tous,
Voilà le topo:
- J'utilise le Système d'Informations Touristique de Rhône-Alpes (base de donnée SITRA) qui exporte des tableaux Excel en *.CSV.
- L'export pond une base pleine de petits détails rendant difficile l'expoitation directe sous SIG, et nécessite un nettoyage (tirets devant le Code INSEE, intitulés des champs souvent incompréhensibles...).
J'envisage de créer une moulinette en VBA (ou peut-être MapBasic) pour nettoyer automatiquement (à la manière des manips Excel "rechercher/remplacer), voire pour ressortir un fichier excel standard.
Question à 100 €:
- Est-ce possible ? (je ne suis vraiment pas un pro du VB...)
- Ces langages savent-ils manipuler les lignes et les colonnes, les intitulés ?
- Peut-on lui faire faire une jointure automatique avec une base communale pour l'intégrer à MapInfo directement ?
- Est-il préférable de créer un .exe VBA ou un outil MB dans MapInfo ?
Merci d'avance et bonne journée à tous !
Emilien
Hors ligne
#2 Fri 09 March 2007 11:05
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Une moulinette VBA pour nettoyer une BDD
Bonjour,
Quelques précisions :
La base exporte des fichiers *.csv : ce ne sont pas des tableaux excel mais des fichiers textes structurés selon un format défini (csv).
"L'export pond une base " ?? Je suppose qu'il s'agit des fichiers CSV (et pas une base de données).
Une moulinette VBA: VBA (visual basic for applications) suppose que vous avez une ou des applications permettant d'intégrer du VBA, ce qui est différent de VB6 qui permet de créer un exe autonome.
MapBasic : Vous utilisez donc MapInfo. (là je ne connais pas)
Quelques réponses:
Le plus efficace est d'utiliser VB6 pour traiter les fichiers CSV et les intégrer dans une base de donnée ACCESS pour les intégrer dans MAPINFO. Par contre ce n'est pas trivial.
Une autre solution: Intégrer les CSV directement dans une table ACCESS et ensuite utiliser VBA sous ACCESS pour modifier les noms de champs (vos entête de colonnes), le contenu (tirets, espace etc...).
Une autre: Utiliser VBA sous Excel pour modifier vos données, (ou les fonctions excel pour retravailler les données), puis intégrer directement dans ACCESS, pour intégration dans MAPINFO.
Donc globalement , oui c'est possible, tout dépend ensuite de vos connaissances et du temps que vous êtes prêt à y consacrer.
Concernant les 100€ je vous envoie un RIB ?
Si c'est le prix d'un developpement vous êtes loin du compte.
A+
Christophe
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#3 Fri 09 March 2007 11:37
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4793
Re: Une moulinette VBA pour nettoyer une BDD
Hello
Certaines manipulations sur des fichiers CSV sont "relativement" faisables sous Excel ...
Ou sinon aussi en mode Texte avec un Editeur de texte de "Compétition", genre UltraEdit ou autre par exemple ...
De toute façon, c SUR il y a du boulot !
GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#4 Fri 09 March 2007 12:02
- Renaud
- Membre
- Lieu: Ploemeur (56)
- Date d'inscription: 9 Mar 2006
- Messages: 2315
Re: Une moulinette VBA pour nettoyer une BDD
Bonjour
Excel possède un bon enregistreur de macros, qui permet de s'accoutumer aux bibliothèques d'objets avec un effort minimum. Ca facilite les projets VBA sur un tableur. A noter : OOo comprend le VBA, ce qui pourrait rendre le projet indépendant d'Excel.
Ceci dit, je suis d'accord avec Christophe : un outil Access et/ou VB6 serai plus efficace.
Renaud Mouche
Hors ligne
#5 Fri 09 March 2007 18:31
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: Une moulinette VBA pour nettoyer une BDD
Bonjour
Pour ce qui concerne mapbasic, il est possible de lire et d'écrire dans un fichier texte, après tout est une question de gestion ou d'écriture pour rendre les données lisibles.
Mais il est conseiller d'avoir toujours le même type de fichier, si l'on veux comprendre les résultats. C'est à dire même colonnes de présentes, et ceci dans le même ordre c'est beaucoup plus simple à gérer pour n'importe quel programme, VB6, Access.
Mais le plus souple au départ est probablement Excel pour gérer ce genre de chose, mais là tout est une question de programmation et comment on récupère le nombre de ligne à traiter.
cordialement
Hors ligne
#6 Mon 12 March 2007 08:34
- Emil'
- Participant actif
- Lieu: Plaisir
- Date d'inscription: 7 Mar 2007
- Messages: 132
Re: Une moulinette VBA pour nettoyer une BDD
Merci à tous pour ces réponses précises et complètes. Je vais donc me contenter d'Excel dans un premier temps.... :-).
Bonne journée à tous, bon courage.
Hors ligne