begin process at 2010 02 10 12:24:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > CLASSER PAR ORDRE ALPHABETIQUE(SIMPLE)

CLASSER PAR ORDRE ALPHABETIQUE(SIMPLE)


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 717 / 306

Auteur : TheBestofComputer

Ecrire un message privé
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

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip BUNTUMI

 Sources de la même categorie

Source avec Zip Source avec une capture AYOUBPAD2009 par ayoube2009
Source avec Zip Source avec une capture PILOTAGE D'AFFICHEURS LCD SUR PORT SÉRIE OU USB par mays
Source avec Zip Source avec une capture TRAITEMENT DE TEXTE RTF par zozo14
FORMATAGE D'UNE CELLULE EXCEL VIA UNE SYNTAXE HTML par 8Tnerolf8
Source avec Zip DÉFILEMENT TEXTE par mimiZanzan

Commentaires et avis

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

Commentaire de TheBestofComputer le 07/05/2003 15:34:42

tza fumer

Commentaire de TheBestofComputer le 07/05/2003 15:36:13

tza fumer

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

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 ?!?

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

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...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales