begin process at 2008 07 04 01:00:17
1 204 456 membres
3 nouveaux aujourd'hui
14 114 membres club

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é: 5 447 / 288

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

  • 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

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS