IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Séparer des adresses en 2 colonnes N° et rue


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut Séparer des adresses en 2 colonnes N° et rue
    Bonjour à tous,

    Je nécessite votre aide pour résoudre un problème sur un fichier EXCEL de très grande taille (13000+ lignes ).


    Ma 6ème colonne est occupée par des adresses (numéro + nom de rue).
    Mon objectif est de séparer d'un côté les numéros dans une 6ème colonne et les noms des rues dans une 7ème colonne.


    Je vous remercie pour votre temps.
    Amicalement

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si toutes tes données sont formatées de la sorte Num Rue (124 Rue l'Unité)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim i As Long
    Dim Adr As String
    Application.ScreenUpdating = False
    With Sheets("Feuil1")
        For i = 2 To .Cells(Rows.Count, "F").End(xlUp).Row
            Adr = .Range("F" & i).Value
            .Range("F" & i).Value = Val(Adr)
            .Range("G" & i) = Trim(Replace(Adr, Val(Adr), ""))
        Next i
    End With

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Xwilll et le forum
    Typique d'un dialogue de sourd qui s'annonce ! Ce qu'on sait (numéro + nom de rue). Pas d'exemples, pas de "n°3, rue...", "3 bis rue", "3bis rue", "3b rue" ou "125-130 avenue...". Juste une fichier avec des adresses ultra claires.
    Comme mercatog a déjà répondu, vais juste me contenter de regarder comment ça va évoluer ce sujet.
    A+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut
    Non non pas du tout, je reste à l'écoute.
    Mon problème, comme je l'ai expliqué dans l'autre topic (qui a été découpé), c'est que je n'ai jamais programmé en VB (seulement en C). Du coup, je n'ai pas encore pu tester la solution de mercatog (que je remercie bien au passage ) car je suis en train d'apprendre rapidement comment me servir de la console VB.
    Je ne voulais pas répondre tant que je n'avais pas tenté l'essai afin de ne pas importuner à nouveau les membres du forum si jamais pour rien.
    Par contre, je crains qu'il y ait des problèmes d'incompatibilité dû au framework avec la solution proposée par mercatog, car j'utilise EXCEL 2003 et ma version Visual Basic Editor est associée à EXCEL.

    PS: pour plus de "précisions" -->
    J'ai exporté un PDF sous EXCEL. Malheureusement, la mise en forme ne convient pas pour le traitement qui lui sera affecté. Du coup, je dois (entre autre !) séparer les numéros des adresses.

    Ex:
    17 rue PAUL FORT
    37 E rue DES MOULINS
    42 B rue DU DOCTEUR OGE
    etc...

    PS2: @mercatog
    Je suppose que tu as supposé dans ton programme que la colonne 6 était nommé F, c'est bien ça ? Car dans mon fichier, les colonnes sont nommées par des chiffres, et non des lettres (comme c'est le cas d'habitude). Je ne sais pas pourquoi d'ailleurs... J'ai présumé que je devais donc simplement changer les F en 6 et les G en 7 mais cela n'a pas suffit. J'ai un message d'erreur qui me surligne le "false" dans la ligne Application.screenupdating.

    En tout cas, merci pour votre implication !
    Si jamais il venait à manquer des informations, n'hésitez pas à les réclamer, je reste à l'affût !

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Si tu as déjà programmé en C, tu dois savoir ce qu'est la manipulation d'une chaîne de caractères, ce à quoi se résume ton souci et dont découle sa difficulté comme te l'indique mercatog.

    ça peut aller de l'usine à gaz tendance démesurée au facile et plus.

    ce traitement est-il unique ou devra se répéter sur d'autres fichiers dont la structure changera?

    y a t-il des composants structurels stables repérables genre une liste finie de dénomination identiques genre rue, bd, ave etc...?

    D'autre part, à la lumière des réponses tu dois comprendre pourquoi les messages ont été découpés étant fondamentalement sans rapports quand à leurs solutions.


    cordialement,

    Didier

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 7
    Par défaut
    Oui oui, j'ai bien compris le pourquoi du comment à propos de la division de mon topic. No souci !

    Alors, tout d'abord, concernant la question, le traitement est destiné à un usage unique (simplement pour CE fichier). De ce fait, j'ai précisé la colonne car cela doit avoir une incidence dans l'élaboration du programme.

    Ensuite, concernant les rues, il serait possible (mais difficile) de faire une liste finie. Je pense qu'il y en a au bas mot une bonne trentaine.

    Effectivement, je me rends bien compte qu'une bonne manipulation des chaînes de caractère résoudrait mon problème. Je sens bien qu'avec la solution de mercatog, je touche au but, mais je n'ai pas réussi encore à trouver comment l'appliquer (insertion après le sub main () ? ou rien à voir ?).

    Merci bien pour votre aide

  7. #7
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    oui, mais le souci vient d'adresses du genre :

    27 bis ......

    54 E ......

    donc même si ça paraît fastidieux, il faut arriver à cerner une règle pour créer un filtre de traitement quitte à s'il n'y a qu'une 20aine d'adresses très bizarres à ce que le filtre les marques pour un traitement manuel qui sera plus rapide que de créer 18 conditions pour 20 adresses.
    D'où l'importance du contexte que tu viens de préciser !

    cordialement,

    Didier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Séparer des données en 2 colonnes lieux et dates
    Par Xwilll dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2010, 12h25
  2. Réponses: 3
    Dernier message: 12/01/2006, 13h27
  3. SQLServer 2000: Liste des contraintes sur une colonne ?
    Par swirtel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2005, 16h13
  4. Décomposer une colonne adresse en plusieures colonnes
    Par frechy dans le forum Requêtes
    Réponses: 5
    Dernier message: 03/10/2005, 20h12
  5. [VBA][outlook] récupération des adresses mail
    Par arno2004 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 27/07/2004, 18h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo