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

VBA Discussion :

Ouvrir des fichiers par ordre alphabétique


Sujet :

VBA

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Ouvrir des fichiers par ordre alphabétique
    Bonjour

    Après plusieurs recherches infructueuses, je souhaiterai avoir votre opinion. Comment feriez vous pour ouvrir des fichiers (en ce qui me concerne, des .doc) par ordre alphabétique (l'idée étant de les copier puis de les coller par ordre alphabétique) ? D'après ce que j'ai compris, il faut créer un tableau de données...Et là, je n'ai absolument aucune idée de la marche à suivre, mes compétences sont largement dépassées. Pourriez vous m'aider à résoudre ce problème, si le coeur vous en dit ?

    En vous remerciant

  2. #2
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    a brule pour point j'ai bien une idée mais elle risque de ne pas etre très performante. En fait un mot est un nombre particulier :
    - il ne s'ecrit pas avec des chiffres habituels
    - il est en base 27.
    Donc tu peux faire une fonction qui convertit de base 27 en base 10, et son inverse.
    Après chaque nom tu le transformes en nombre, et tu tries le tableau de nombre. Pour finir tu reconverti tes chiffres en base 26. AB = 27*1+2=29, BA=2*27+1=55. Tu as bien AB<BA

    Problemes de la méthode :
    - elle est lente
    - elle genere des chiffres très vite immense (par exemple le mot de 6 lettres : "AAAAAA" donnera n=14.900.788, pour info la taille max d'un long est 2.147.483.647)
    - elle ne tient pas du tout compte des nom ayant des accens, des caracteres spéciaux (_,@,%,.) et les chiffres, et la casse des caracteres (mais cela peut se corrigier facilement).

  3. #3
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    Je viens aussi de me souvenir que le vb permet la comparaison directe entre chaines de caracteres.
    Tu peux faire stMaChaine1<stMaChaine2,il acceptera.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub tt()
    Dim stMaChaine1 As String, stMaChaine2 As String
    stMaChaine1 = "Toto3"
    stMaChaine2 = "Toto2"
     
    Debug.Print stMaChaine1 < stMaChaine2
    End Sub
    donc il te faut juste faire un algorithme de tri classique.

Discussions similaires

  1. Trier des lignes par ordre alphabétique ?
    Par Evocatii dans le forum Eclipse
    Réponses: 0
    Dernier message: 11/08/2007, 11h26
  2. [débutant] Tri de fichiers par ordre alphabétique
    Par NicaeaCivitas dans le forum Langage
    Réponses: 5
    Dernier message: 30/11/2006, 15h25
  3. [MySQL] Classer des résultats par ordre alphabétique
    Par Him dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/07/2006, 14h59
  4. ouvrire des fichiers par un boucle for
    Par stiko dans le forum C++
    Réponses: 5
    Dernier message: 08/07/2006, 15h14

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