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 :

Ordre sur le nombre de caractére


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 499
    Points : 304
    Points
    304
    Par défaut Ordre sur le nombre de caractére
    Salut tous le monde
    existe il une astuce pour faire un ordre de la collone A avec un ordre croissant en se basant sur le nombre de caractére dans chaque cellule exemple:
    Avant:
    1125A
    APPD5522
    PPO8
    RE2
    Aprés:
    RE2
    PPO8
    1125A
    APPD5522
    cordialement
    a bientot

  2. #2
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonjour,
    Et si tes valeurs ont le même nombre de caractères, tu fais quoi ?

  3. #3
    Membre averti Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 499
    Points : 304
    Points
    304
    Par défaut
    Bonjour ouskel'n'or
    bonne question si le nombre est similaire il traite de gauche a droite
    cordialement

  4. #4
    Membre émérite
    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
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut jawed et le forum
    tu mets un simple NbCar() dans la colonne à droite et tu utilises le filtre automatique sur cette colonne pour trier croissant/décroissant ou pour filtrer
    A+

  5. #5
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Sans le classement alpha des tailles identiques, tu peux faire ça
    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
    Sub test()
    Dim Tablo, NbLig As Long, i As Long, j As Long, OldVal
        NbLig = Range("A65536").End(xlUp).Row
        Tablo = Range("A1:A" & NbLig)
        Do While i < NbLig
            OldVal = 50 'longueur max fictive
            For NoLig = 1 To NbLig
                If Len(Tablo(NoLig, 1)) <= OldVal And Tablo(NoLig, 1) <> "" Then
                    OldVal = Len(Tablo(NoLig, 1))
                    j = NoLig
                End If
            Next
            i = i + 1
            Cells(i, 2) = Tablo(j, 1)
            Tablo(j, 1) = ""
        Loop
    End Sub
    Pour le classement alpha, tu fais un tri alpha préalable, l'ordre sera respecté par le code ci-dessus.
    Mais la solution de Gorfael est effectivement plus simple si elle répond bien à ta demande.
    Bonne journée

  6. #6
    Membre averti Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 499
    Points : 304
    Points
    304
    Par défaut
    Salut tous Gorfael, ouskel'n'or le forum
    Pourquoi faire simple qu'on peut faire compliqué effectivement la solution de Gorfael est plus simple est parfaite. pour ce qui concerne ton code ouskel'n'or il fait aussi l'ordre mais il fait 02 erreurs:
    1- il copie les données de la collones A dans la collone B donc je perd les données de cette derniere collone
    2- il ne transfert pas les données de chaque lignes.
    Ci joint un bout de fichier que je traite

  7. #7
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    La solution de Gorfael te convient ? Ou tiens-tu à faire ça avec VBA ?

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    sinon tu peux normaliser ta colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =REPT(" ";15 - NBCAR(A1)) & A1
    insère autant de caractères à gauche pour que la chaine en comprenne 15

    il te suffit ensuite de faire le tri sur la nouvelle colonne
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  9. #9
    Membre averti Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 499
    Points : 304
    Points
    304
    Par défaut
    salut a vous tous et désolé pour le retard
    ouskel'n'or
    effectivement je veut si c'est possible traité ce fichier avec VBA, non que je veut pas le faire avec la solution de Gorfael que j'utilise deja mais parsque je débuté en VBA et j'aimerai bien solutioner ce probleme en VBA
    cafeine
    Une formule que je conaissé pas a retenir ,mais j'ai pas compris
    insère autant de caractères à gauche pour que la chaine en comprenne 15
    ou a gauche
    cordialement
    a bientot

  10. #10
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    A gauche de ce contient déjà ta cellule A1
    Equivalent VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeMot = Right(String(15, " ") & range("A1"), 15)
    En vba, le code que je t'ai passé classe correctement tes affaires si tu fais un tri alpha avant ce code. Ce tri, tu peux le faire en enregistrant une macro en faisant. Tu nous rapportes le code, on arrangera ça
    A+

Discussions similaires

  1. [XL-2010] Validation des Données sur le nombre de caractère
    Par antonysansh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/05/2015, 10h02
  2. requête sur un nombre de caractère
    Par sousleau12 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 19/02/2009, 23h29
  3. Formater une string sur un nombre de caractères fixes
    Par melleb dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 15/05/2008, 09h45
  4. [dé]compter le nombre de caractères restants sur une saisie
    Par akara dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/09/2007, 15h36
  5. Tri sur une chaîne de caractères contenant des nombres
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/05/2006, 11h52

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