banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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 ? smile

Si c'est le prix d'un developpement vous êtes loin du compte. smile

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

 

Pied de page des forums

Powered by FluxBB