Classer par ordre alphabetique(simple)

Description

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

Source / Exemple :


'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

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (TheBestofComputer)