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 :

Traitement de masse avec la fonction trim


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut Traitement de masse avec la fonction trim
    Bonjour,

    je travaille présentement sous Access et je tente d'importer les données d'Excel. Je dois manipuler de très gros fichiers afin de les formater avant l'importation. Je cherche peut-être mal mais ca fait deux jours que je cherche ...

    Mon problème est celui-ci: Mes fichiers peuvent avoir plusieurs milliers de lignes et jusqu'à 80 colonnes sinon plus. Chaque colonne peuvent contenir différent type de données (string, currency, long, date, etc...) Or, je dois utiliser la fonction trim sur chaque cellule pour m'assurer que l'importation se fera correctement.

    j'ai déjà une fonction pour effectuer ce travail mais p...ain que c'est long ...

    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Public Sub trimCellsFromRegion(ByVal cellHautGauche As Range, _
                                              ByVal cellBasDroite As Range)
     
        Dim line, column, FirstLine, LastLine, FirstColumn, LastColumn As Integer
     
        FirstLine = ...
        LastLine = ... 
        FirstColumn = ...
        LastColumn = ...
     
        For line = FirstLine To LastLine 
     
            For column = FirstColumn To LastColumn 
     
                cells(line,column).value = Trim(cells(line,column).value )
                DoEvents
     
            Next column
     
        Next line
     
    End Sub
    N'y aurait-il pas une fonction Excel qui effectuerait ce travaille plus rapidement?

    Merci beaucoup d'avance pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Tu as essayé en le faisant manuellement, par exemple en remplissant la feuille #2 de ton classeur avec des TRIM() se rapportant à la feuille #1 ? Puis un coup de copier coller valeur ? Ou c'est trop chiant / long ?

    My 2 cts

  3. #3
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut
    C'est pas con ...

    je vais essayer ca!!! Et je te reviens.

    Merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si tes espaces sont en début ou fin de mots, y'a pas mieux que ce que propose flo_flo.
    Sinon, pour supprimer tous les espaces dans une feuille de calculs où qu'ils soient, en début, fin ou milieu de mot, tu as ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Cells.Replace What:=" ", Replacement:="""""", LookAt:=xlPart, _
            SearchOrder:=xlByRows
    A toutes fins utiles et à tout hasard

  5. #5
    Membre averti

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Par défaut
    bon, ce fut long mais bon!!!

    Ca fonctionne très bien et ... de loin plus rapide pour le traitement!!! Merci beaucoup Flo_Flo!!!

    Merci aussi à toi ouskel'n'or pour l'information j'en prend bonne note!!! hehehe

    Vous êtes mon site de références pour VBA!!!





    Continuez votre bon travail

    @+

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

Discussions similaires

  1. Problème avec fonction Trim
    Par petit rabot dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/01/2013, 11h21
  2. Problème avec la Fonction TRIM
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/01/2009, 12h29
  3. [Mail] envoi mail en masse avec fonction bcc
    Par jarod71 dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 12h44
  4. Réponses: 13
    Dernier message: 20/03/2003, 09h11
  5. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 14h22

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