Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSER PAR ORDRE ALPHABETIQUE(SIMPLE)


Information sur la source

Catégorie :Texte Niveau : Initié Date de création : 07/05/2003 Date de mise à jour : 07/05/2003 13:45:24 Vu / téléchargé: 6 328 / 302

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Voila------------------->
  |
  |
  |
  |
  |
\/
c un module
 

Source

  • 'Vous etes priez de respecter ce code
  • 'Meme si vous le trouvez incoplait
  • 'Dite le mois puis je le rectifeai
  • 'Moi je trouve qu'il est simple
  • 'info-----> je ne regarde sur auqun code
  • '-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
  • 'Ce triage est un triage que g inventer il donne le plus grande imporatance au premier puis apre
  • 'Ex 1: chien
  • ' 2: Chat
  • ' 3: Boule
  • ' 4: Variable
  • 'comme Variable est le plus grand mot(composer de 8 caractere)
  • 'le premier caractere(code decimal)de tout les mots sera multiplier par 8
  • 'puis le 2 par 8-1 etc... puis le total sera fixé dans un varaible specifique
  • 'au mot
  • 'puis le mot qui a le plus petit nombre sera le premier...
  • 'meme si il y deux fois le meme nombre la function
  • 'classera le deuxiemeou troiseme... venu apres le mots deja enregistre
  • 'Cela classe aussi les signe par rapport a code decimal
  • 'Le plus c wquon peut associer des donné pour pouvoir les retrouver facilemnt
  • 'Comme pour des fichier
  • 'ex donné : son nom
  • 'd1: son extension
  • 'd2: sa date de creation
  • 'etc....
  • '-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
  • '''''''''Script Arts
  • '''''''''Script Arts
  • 'Enregistrement des variables
  • Public Mots(1 To 1000) As Typen1
  • Dim ajou(1 To 1000) As Typen1
  • Dim Remot(1 To 1000) As Typen2
  • Public Type Typen1
  • Donne As String
  • D1 As String
  • D2 As String
  • D3 As String
  • D4 As String
  • D5 As String
  • D6 As String
  • D7 As String
  • D8 As String
  • D9 As String
  • End Type
  • Public Type Typen2
  • Donne As String
  • D1 As String
  • D2 As String
  • D3 As String
  • D4 As String
  • D5 As String
  • D6 As String
  • D7 As String
  • D8 As String
  • D9 As String
  • nb As Byte
  • End Type
  • Public MotClasse(1 To 1000) As Typen1
  • Dim Maxlen As Long
  • 'Nombredemot : Nombre de mot a trier (pas aubliger que ce soit extacte mais toujour +)
  • Public Function ClasseOrdeAlphabetique(ByVal Nombredemot As Long)
  • nbmot = 0
  • Maxlen = 0
  • 'cherche le plus grand mots (en longeur)
  • For i = 1 To Nombredemot
  • If Len(Mots(i).Donne) > Maxlen Then
  • 'si la longueur du mot encore est plus grand que la variable cela l'enregistre
  • Maxlen = Len(Mots(i).Donne)
  • End If
  • 'cherche le nombre de mots
  • If Mots(i).Donne = "" Then
  • Exit For
  • Else
  • nbmot = nbmot + 1
  • End If
  • Next i
  • 'Commence a chercher les mots
  • For mot = 1 To nbmot
  • cal = 0
  • 'commence a chercher les lettre
  • For lettre = 1 To Len(Mots(mot).Donne)
  • 'Mais a la puissance de sa possision son code decimal(tou reduit en minuscule )
  • 'c apres que la difference entre la majuscule est le minuscule va ce joué
  • cal = cal + (Asc(Mid(UCase(Mots(mot).Donne), lettre, 1))) ^ (Maxlen - lettre + 1)
  • 'End If
  • Next lettre
  • For lettre2 = 1 To Len(Mots(mot).Donne)
  • If Asc(Mid(Mots(mot).Donne, lettre2, 1)) >= 97 And Asc(Mid(Mots(mot).Donne, lettre2, 1)) <= 122 Then
  • 'Si c une minuscule ajoute 1+maxlen - letrre
  • 'Pareil c la premier qui vaut le + pui la deusieme etc...
  • cal = cal + 1 + Maxlen - lettre2
  • End If
  • Next lettre2
  • 'enregistre le nombre trouver puis c autre variable
  • ajou(mot).Donne = cal
  • ajou(mot).D1 = Mots(mot).D1
  • ajou(mot).D2 = Mots(mot).D2
  • ajou(mot).D3 = Mots(mot).D3
  • ajou(mot).D4 = Mots(mot).D4
  • ajou(mot).D5 = Mots(mot).D5
  • ajou(mot).D6 = Mots(mot).D6
  • ajou(mot).D7 = Mots(mot).D7
  • ajou(mot).D8 = Mots(mot).D8
  • ajou(mot).D9 = Mots(mot).D9
  • Next mot
  • For k = 1 To nbmot
  • 'initialise
  • tot = 1
  • For j = 1 To nbmot
  • 'compare le mot(k) au motcherche(j) compare le nombre
  • If ajou(k).Donne <> ajou(j).Donne Then
  • 'si il est différant
  • op = Len(ajou(j).Donne)
  • opr = Len(ajou(k).Donne)
  • If Val(ajou(j).Donne) < Val(ajou(k).Donne) Then
  • 'si il est plus grand il l'augemente d'une place
  • tot = tot + 1
  • End If
  • End If
  • Next j
  • If Remot(tot).nb > 0 Then
  • 'si il y adeja un mot ajoute une place(le met apres)
  • tot = tot + Remot(tot).nb
  • End If
  • If Remot(tot).Donne = "" Then
  • 'si la variable est vide il enregistre
  • Remot(tot).Donne = Mots(k).Donne
  • Remot(tot).D1 = Mots(k).D1
  • Remot(tot).D2 = Mots(k).D2
  • Remot(tot).D3 = Mots(k).D3
  • Remot(tot).D4 = Mots(k).D4
  • Remot(tot).D5 = Mots(k).D5
  • Remot(tot).D6 = Mots(k).D6
  • Remot(tot).D7 = Mots(k).D7
  • Remot(tot).D8 = Mots(k).D8
  • Remot(tot).D9 = Mots(k).D9
  • Remot(tot).nb = 1
  • End If
  • Next k
  • ' je pouvais le metre tou de suite mais il y avit une variable(nb)qui
  • 'cervais a rien
  • For classe = 1 To nbmot
  • MotClasse(classe).Donne = Remot(classe).Donne
  • MotClasse(classe).D1 = Remot(classe).D1
  • MotClasse(classe).D2 = Remot(classe).D2
  • MotClasse(classe).D3 = Remot(classe).D3
  • MotClasse(classe).D4 = Remot(classe).D4
  • MotClasse(classe).D5 = Remot(classe).D5
  • MotClasse(classe).D6 = Remot(classe).D6
  • MotClasse(classe).D7 = Remot(classe).D7
  • MotClasse(classe).D8 = Remot(classe).D8
  • MotClasse(classe).D9 = Remot(classe).D9
  • Next classe
  • End Function
  • Public Function Actualise()
  • 'Pa besoin desplication
  • For o = 1 To 1000
  • Mots(o).Donne = ""
  • Mots(o).D1 = ""
  • Mots(o).D2 = ""
  • Mots(o).D3 = ""
  • Mots(o).D4 = ""
  • Mots(o).D5 = ""
  • Mots(o).D6 = ""
  • Mots(o).D7 = ""
  • Mots(o).D8 = ""
  • Mots(o).D9 = ""
  • ajou(o).Donne = ""
  • ajou(o).D1 = ""
  • ajou(o).D2 = ""
  • ajou(o).D3 = ""
  • ajou(o).D4 = ""
  • ajou(o).D5 = ""
  • ajou(o).D6 = ""
  • ajou(o).D7 = ""
  • ajou(o).D8 = ""
  • ajou(o).D9 = ""
  • Remot(o).nb = 0
  • Remot(o).Donne = ""
  • Remot(o).D1 = ""
  • Remot(o).D2 = ""
  • Remot(o).D3 = ""
  • Remot(o).D4 = ""
  • Remot(o).D5 = ""
  • Remot(o).D6 = ""
  • Remot(o).D7 = ""
  • Remot(o).D8 = ""
  • Remot(o).D9 = ""
  • MotClasse(o).Donne = ""
  • MotClasse(o).D1 = ""
  • MotClasse(o).D2 = ""
  • MotClasse(o).D3 = ""
  • MotClasse(o).D4 = ""
  • MotClasse(o).D5 = ""
  • MotClasse(o).D6 = ""
  • MotClasse(o).D7 = ""
  • MotClasse(o).D8 = ""
  • MotClasse(o).D9 = ""
  • Next o
  • End Function
'Vous etes priez de respecter ce code
'Meme si vous le trouvez incoplait
'Dite le mois puis je le rectifeai
'Moi je trouve qu'il est simple
'info-----> je ne regarde sur auqun code
'-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
'Ce triage est un triage que g inventer il donne le plus grande imporatance au premier puis apre
'Ex 1: chien
'   2: Chat
'   3: Boule
'   4: Variable
'comme Variable est le plus grand mot(composer de 8 caractere)
'le premier caractere(code decimal)de tout les mots sera multiplier par 8
'puis le 2 par 8-1 etc... puis le total sera fixé dans un varaible specifique
'au mot
'puis le mot qui a le plus petit nombre sera le premier...
'meme si il y deux fois le meme nombre la function
'classera le deuxiemeou troiseme... venu apres le mots deja enregistre
'Cela classe aussi les signe par rapport a code  decimal
'Le plus c wquon peut associer des donné pour pouvoir les retrouver facilemnt
'Comme pour des fichier
'ex donné : son nom
'd1:      son extension
'd2: sa date de creation
'etc....
'-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
'''''''''Script Arts
'''''''''Script Arts

'Enregistrement des variables
Public Mots(1 To 1000) As Typen1
Dim ajou(1 To 1000) As Typen1
Dim Remot(1 To 1000) As Typen2
Public Type Typen1
      Donne As String
      D1 As String
      D2 As String
      D3 As String
      D4 As String
      D5 As String
      D6 As String
      D7 As String
      D8 As String
      D9 As String
End Type
Public Type Typen2
      Donne As String
      D1 As String
      D2 As String
      D3 As String
      D4 As String
      D5 As String
      D6 As String
      D7 As String
      D8 As String
      D9 As String
      nb As Byte
End Type
Public MotClasse(1 To 1000) As Typen1
Dim Maxlen As Long
'Nombredemot : Nombre de mot a trier (pas aubliger que ce soit extacte mais toujour +)


Public Function ClasseOrdeAlphabetique(ByVal Nombredemot As Long)
nbmot = 0
Maxlen = 0
'cherche le plus grand mots (en longeur)
For i = 1 To Nombredemot
If Len(Mots(i).Donne) > Maxlen Then
'si la longueur du mot encore est plus grand que la variable cela l'enregistre
Maxlen = Len(Mots(i).Donne)
End If
'cherche le nombre de mots
If Mots(i).Donne = "" Then
Exit For
Else
nbmot = nbmot + 1
End If
Next i
'Commence a chercher les mots
For mot = 1 To nbmot
cal = 0
'commence a chercher les lettre
For lettre = 1 To Len(Mots(mot).Donne)
'Mais a la puissance de sa possision son code decimal(tou reduit en minuscule )
'c apres que la difference entre la majuscule est le minuscule va ce joué
cal = cal + (Asc(Mid(UCase(Mots(mot).Donne), lettre, 1))) ^ (Maxlen - lettre + 1)
'End If
Next lettre
For lettre2 = 1 To Len(Mots(mot).Donne)
If Asc(Mid(Mots(mot).Donne, lettre2, 1)) >= 97 And Asc(Mid(Mots(mot).Donne, lettre2, 1)) <= 122 Then
'Si c une minuscule ajoute 1+maxlen - letrre
'Pareil c la premier qui vaut le + pui la deusieme etc...
cal = cal + 1 + Maxlen - lettre2
End If
Next lettre2
'enregistre le nombre trouver puis c autre variable
ajou(mot).Donne = cal
ajou(mot).D1 = Mots(mot).D1
ajou(mot).D2 = Mots(mot).D2
ajou(mot).D3 = Mots(mot).D3
ajou(mot).D4 = Mots(mot).D4
ajou(mot).D5 = Mots(mot).D5
ajou(mot).D6 = Mots(mot).D6
ajou(mot).D7 = Mots(mot).D7
ajou(mot).D8 = Mots(mot).D8
ajou(mot).D9 = Mots(mot).D9
Next mot
For k = 1 To nbmot
'initialise
tot = 1
For j = 1 To nbmot
'compare le mot(k) au motcherche(j) compare le nombre
If ajou(k).Donne <> ajou(j).Donne Then
'si il est différant
op = Len(ajou(j).Donne)
opr = Len(ajou(k).Donne)
If Val(ajou(j).Donne) < Val(ajou(k).Donne) Then
'si il est plus grand il l'augemente d'une place
tot = tot + 1
End If
End If
Next j
If Remot(tot).nb > 0 Then
'si il y adeja un mot ajoute une place(le met apres)
tot = tot + Remot(tot).nb
End If
If Remot(tot).Donne = "" Then
'si la variable est vide il enregistre
Remot(tot).Donne = Mots(k).Donne
Remot(tot).D1 = Mots(k).D1
Remot(tot).D2 = Mots(k).D2
Remot(tot).D3 = Mots(k).D3
Remot(tot).D4 = Mots(k).D4
Remot(tot).D5 = Mots(k).D5
Remot(tot).D6 = Mots(k).D6
Remot(tot).D7 = Mots(k).D7
Remot(tot).D8 = Mots(k).D8
Remot(tot).D9 = Mots(k).D9
Remot(tot).nb = 1
End If
Next k
' je pouvais le metre tou de suite mais il y avit une variable(nb)qui
'cervais a rien
For classe = 1 To nbmot
MotClasse(classe).Donne = Remot(classe).Donne
MotClasse(classe).D1 = Remot(classe).D1
MotClasse(classe).D2 = Remot(classe).D2
MotClasse(classe).D3 = Remot(classe).D3
MotClasse(classe).D4 = Remot(classe).D4
MotClasse(classe).D5 = Remot(classe).D5
MotClasse(classe).D6 = Remot(classe).D6
MotClasse(classe).D7 = Remot(classe).D7
MotClasse(classe).D8 = Remot(classe).D8
MotClasse(classe).D9 = Remot(classe).D9
Next classe
End Function
Public Function Actualise()
'Pa besoin desplication
For o = 1 To 1000
Mots(o).Donne = ""
Mots(o).D1 = ""
Mots(o).D2 = ""
Mots(o).D3 = ""
Mots(o).D4 = ""
Mots(o).D5 = ""
Mots(o).D6 = ""
Mots(o).D7 = ""
Mots(o).D8 = ""
Mots(o).D9 = ""
ajou(o).Donne = ""
ajou(o).D1 = ""
ajou(o).D2 = ""
ajou(o).D3 = ""
ajou(o).D4 = ""
ajou(o).D5 = ""
ajou(o).D6 = ""
ajou(o).D7 = ""
ajou(o).D8 = ""
ajou(o).D9 = ""
Remot(o).nb = 0
Remot(o).Donne = ""
Remot(o).D1 = ""
Remot(o).D2 = ""
Remot(o).D3 = ""
Remot(o).D4 = ""
Remot(o).D5 = ""
Remot(o).D6 = ""
Remot(o).D7 = ""
Remot(o).D8 = ""
Remot(o).D9 = ""
MotClasse(o).Donne = ""
MotClasse(o).D1 = ""
MotClasse(o).D2 = ""
MotClasse(o).D3 = ""
MotClasse(o).D4 = ""
MotClasse(o).D5 = ""
MotClasse(o).D6 = ""
MotClasse(o).D7 = ""
MotClasse(o).D8 = ""
MotClasse(o).D9 = ""
Next o
End Function

Conclusion

il est aussi dnas le zip
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de darunia le 07/05/2003 14:24:52

Simple ! Je ne trouve pas !
Tu connais le bubble sort ? c'est un algo bien connu et tres utilisé :
On admet 1 tableaux : NomPrenom(1 To 30) As String
Pour le classer par ordre alphabetique, il suffit de faire comme ça

    Dim nbcase As Integer
    Dim permut As String
    Dim i As Integer
    Dim j As Integer
    nbcase = 8
    For i = 1 To nbcase - 1
        For j = i + 1 To nbcase
            If NomPrenom(i) &gt; NomPrenom(j) Then
                permut = NomPrenom(i)
                NomPrenom(i) = NomPrenom(j)
                NomPrenom(j) = permut
            End If
        Next j
    Next i

signaler à un administrateur
Commentaire de TheBestofComputer le 07/05/2003 15:34:42

tza fumer

signaler à un administrateur
Commentaire de TheBestofComputer le 07/05/2003 15:36:13

tza fumer

signaler à un administrateur
Commentaire de Boboss99 le 07/05/2003 16:15:48

c clair que 300 (g pas compté) lignes de code pour faire un simple tri alphabétique c un peu bcp non ??? pkoi faire simple qd on peut faire compliqué ???
heureusement que t'as pas fait un "hello world" sinon on aurait peut etre eu 4 fois plus de code lol

signaler à un administrateur
Commentaire de TheSin le 07/05/2003 16:21:52

ce que tu aurais pu faire, c'est :
-tu prends un listbox
-tu mets tous tes mots dedans
-tu met la propriété "sorted" à "True"

c'est nettement + rapide, non ?!?

signaler à un administrateur
Commentaire de TheBestofComputer le 08/05/2003 12:44:14

Oui mais ci ta pa envie de mettre un list box .si tu veut que ca soit un fonction.par exemple quan tu est dans un tableau.si tu veut que ca trie la colone 1 par orde alphabetique c + simple dutiliser cette fonction

signaler à un administrateur
Commentaire de TheSin le 09/05/2003 19:39:42

t'as pas l'impression ke microsoft à déjà écrit du code ki fait ca ds le listbox et ke c'est pas un peut + rapide ?
parce ke avec ton truc, y'a à peu près 173 lignes à exécuter
avec le code de microsoft du listbox, y'a peut-etre 10 lignes maxi
conclusion : c'est lequel le code le plus rapide ? (ca te rajoute ke 4ko en mémoire je crois)
donc, tu passes ton tableau ds le listbox, et tu le repasse ds le tablo. (directement)

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.