Est-il possible d'envoyer un tableau dans une fonction, de faire un
traitement sur ce tableau (un tri par ex) puis de retourner en sortie
de fonction ce tableau trait=E9 ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne =3D
un item) que je souhaite trier alphab=E9tiquement. lorsque j'effectue ce
tri directement dans la procedure principale, pas de soucis, =E7a
marche. Par contre quand je transforme le bout de code qui g=E8re le tri
en fonction, l=E0 =E7a ne marche plus.
Je me plante surement quelque part mais o=F9 ??? si une =E2me charitable
pouvait me porter secours, je lui en serais fort gr=E9. Merci d'avance.
Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo()
Dim j, t, outer_loop, inner_loop as Integer
Dim Temp as String
Open "D:\Dossier de Test\Fichier_Pas_Tri.txt" For Input As #1
'r=E9cup=E8re toutes les valeurs du fichier dans un tableau
Do While Not EOF(1)
j =3D j + 1
ReDim Preserve Tblo(1 To j)
Line Input #1, Tblo(j)
Loop
'Sort de la macro si le fichier est vide ou n'existe pas
If j =3D 0 Then
Exit Sub
End If
'-------------------------------------------------
'Tri du tableau
'Tri par la fonction
' SortList (Tblo)
'Tri directement dans le code
'Boucle sur la liste du haut vers le bas
For outer_loop =3D UBound(Tblo) - 1 To LBound(Tblo) Step
-1
'Boucle sur la liste du bas vers le haut "en
cours"
For inner_loop =3D LBound(Tblo) To outer_loop
'Echange de place si l'element courant est
plus grand que le prochain element
If Tblo(inner_loop) > Tblo(inner_loop + 1)
Then
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Top100
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité : j'appellai ma fonction ainsi dans ma procédure principale : SortList (Tblo) ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer ! top100
On 30 juil, 11:08, Top100 wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un traitement sur ce tableau (un tri par ex) puis de retourner en sortie de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne = un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce tri directement dans la procedure principale, pas de soucis, ça marche. Par contre quand je transforme le bout de code qui gère le tri en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable pouvait me porter secours, je lui en serais fort gré. Merci d'avance. Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo() Dim j, t, outer_loop, inner_loop as Integer Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input A s #1
'récupère toutes les valeurs du fichier dans un table au Do While Not EOF(1) j = j + 1 ReDim Preserve Tblo(1 To j) Line Input #1, Tblo(j) Loop
'Sort de la macro si le fichier est vide ou n'existe pas If j = 0 Then Exit Sub End If
'------------------------------------------------- 'Tri du tableau
'Tri par la fonction ' SortList (Tblo)
'Tri directement dans le code 'Boucle sur la liste du haut vers le bas For outer_loop = UBound(Tblo) - 1 To LB ound(Tblo) Step -1
'Boucle sur la liste du bas vers le haut "en cours" For inner_loop = LBound(Tblo) T o outer_loop
'Echange de place si l'el ement courant est plus grand que le prochain element If Tblo(inner_loop) > Tbl o(inner_loop + 1) Then
Open "D:Dossier de TestFichier_Tri.txt" For Output As # 1
'ré-inscrit les valeurs dans le fichier et referme For t = 1 To UBound(Tblo) Print #1, Tblo(t) Debug.Print Tblo(t) Next t Close #1
Erase Tblo t = 0
MsgBox ("Que dalle !")
End Sub
Function SortList(ByRef asList)
'Loop through the list from top to bottom For outer_loop = UBound(asList) - 1 To LBound(asList) Step -1
'Loop from bottom of list to current top For inner_loop = LBound(asList) To outer_loop
'If the current element is greater than the next then flip them in the array If asList(inner_loop) > asList(inner_loop + 1) Th en
'Temp gets the next element in the array Temp = asList(inner_loop + 1)
'Next element gets current value asList(inner_loop + 1) = asList(inner_l oop)
'The current element in the array gets th e temp.. ie next asList(inner_loop) = Temp
End If
Next 'inner_loop
Next 'outer_loop
SortList = asList
End Function
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le
parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité :
j'appellai ma fonction ainsi dans ma procédure principale : SortList
(Tblo)
ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer !
top100
On 30 juil, 11:08, Top100 <vincent.tops...@gmail.com> wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un
traitement sur ce tableau (un tri par ex) puis de retourner en sortie
de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne =
un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce
tri directement dans la procedure principale, pas de soucis, ça
marche. Par contre quand je transforme le bout de code qui gère le tri
en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable
pouvait me porter secours, je lui en serais fort gré. Merci d'avance.
Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo()
Dim j, t, outer_loop, inner_loop as Integer
Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input A s #1
'récupère toutes les valeurs du fichier dans un table au
Do While Not EOF(1)
j = j + 1
ReDim Preserve Tblo(1 To j)
Line Input #1, Tblo(j)
Loop
'Sort de la macro si le fichier est vide ou n'existe pas
If j = 0 Then
Exit Sub
End If
'-------------------------------------------------
'Tri du tableau
'Tri par la fonction
' SortList (Tblo)
'Tri directement dans le code
'Boucle sur la liste du haut vers le bas
For outer_loop = UBound(Tblo) - 1 To LB ound(Tblo) Step
-1
'Boucle sur la liste du bas vers le haut "en
cours"
For inner_loop = LBound(Tblo) T o outer_loop
'Echange de place si l'el ement courant est
plus grand que le prochain element
If Tblo(inner_loop) > Tbl o(inner_loop + 1)
Then
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité : j'appellai ma fonction ainsi dans ma procédure principale : SortList (Tblo) ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer ! top100
On 30 juil, 11:08, Top100 wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un traitement sur ce tableau (un tri par ex) puis de retourner en sortie de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne = un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce tri directement dans la procedure principale, pas de soucis, ça marche. Par contre quand je transforme le bout de code qui gère le tri en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable pouvait me porter secours, je lui en serais fort gré. Merci d'avance. Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo() Dim j, t, outer_loop, inner_loop as Integer Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input A s #1
'récupère toutes les valeurs du fichier dans un table au Do While Not EOF(1) j = j + 1 ReDim Preserve Tblo(1 To j) Line Input #1, Tblo(j) Loop
'Sort de la macro si le fichier est vide ou n'existe pas If j = 0 Then Exit Sub End If
'------------------------------------------------- 'Tri du tableau
'Tri par la fonction ' SortList (Tblo)
'Tri directement dans le code 'Boucle sur la liste du haut vers le bas For outer_loop = UBound(Tblo) - 1 To LB ound(Tblo) Step -1
'Boucle sur la liste du bas vers le haut "en cours" For inner_loop = LBound(Tblo) T o outer_loop
'Echange de place si l'el ement courant est plus grand que le prochain element If Tblo(inner_loop) > Tbl o(inner_loop + 1) Then
Open "D:Dossier de TestFichier_Tri.txt" For Output As # 1
'ré-inscrit les valeurs dans le fichier et referme For t = 1 To UBound(Tblo) Print #1, Tblo(t) Debug.Print Tblo(t) Next t Close #1
Erase Tblo t = 0
MsgBox ("Que dalle !")
End Sub
Function SortList(ByRef asList)
'Loop through the list from top to bottom For outer_loop = UBound(asList) - 1 To LBound(asList) Step -1
'Loop from bottom of list to current top For inner_loop = LBound(asList) To outer_loop
'If the current element is greater than the next then flip them in the array If asList(inner_loop) > asList(inner_loop + 1) Th en
'Temp gets the next element in the array Temp = asList(inner_loop + 1)
'Next element gets current value asList(inner_loop + 1) = asList(inner_l oop)
'The current element in the array gets th e temp.. ie next asList(inner_loop) = Temp
End If
Next 'inner_loop
Next 'outer_loop
SortList = asList
End Function
milloche
Bonjour Fais nous une vidéo ! <]:o))
"Top100" a écrit dans le message de news:
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité : j'appellai ma fonction ainsi dans ma procédure principale : SortList (Tblo) ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer ! top100
On 30 juil, 11:08, Top100 wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un traitement sur ce tableau (un tri par ex) puis de retourner en sortie de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne > un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce tri directement dans la procedure principale, pas de soucis, ça marche. Par contre quand je transforme le bout de code qui gère le tri en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable pouvait me porter secours, je lui en serais fort gré. Merci d'avance. Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo() Dim j, t, outer_loop, inner_loop as Integer Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input As #1
'récupère toutes les valeurs du fichier dans un tableau Do While Not EOF(1) j = j + 1 ReDim Preserve Tblo(1 To j) Line Input #1, Tblo(j) Loop
'Sort de la macro si le fichier est vide ou n'existe pas If j = 0 Then Exit Sub End If
'------------------------------------------------- 'Tri du tableau
'Tri par la fonction ' SortList (Tblo)
'Tri directement dans le code 'Boucle sur la liste du haut vers le bas For outer_loop = UBound(Tblo) - 1 To LBound(Tblo) Step -1
'Boucle sur la liste du bas vers le haut "en cours" For inner_loop = LBound(Tblo) To outer_loop
'Echange de place si l'element courant est plus grand que le prochain element If Tblo(inner_loop) > Tblo(inner_loop + 1) Then
Open "D:Dossier de TestFichier_Tri.txt" For Output As #1
'ré-inscrit les valeurs dans le fichier et referme For t = 1 To UBound(Tblo) Print #1, Tblo(t) Debug.Print Tblo(t) Next t Close #1
Erase Tblo t = 0
MsgBox ("Que dalle !")
End Sub
Function SortList(ByRef asList)
'Loop through the list from top to bottom For outer_loop = UBound(asList) - 1 To LBound(asList) Step -1
'Loop from bottom of list to current top For inner_loop = LBound(asList) To outer_loop
'If the current element is greater than the next then flip them in the array If asList(inner_loop) > asList(inner_loop + 1) Then
'Temp gets the next element in the array Temp = asList(inner_loop + 1)
'Next element gets current value asList(inner_loop + 1) = asList(inner_loop)
'The current element in the array gets the temp.. ie next asList(inner_loop) = Temp
End If
Next 'inner_loop
Next 'outer_loop
SortList = asList
End Function
Bonjour
Fais nous une vidéo !
<]:o))
"Top100" <vincent.topsent@gmail.com> a écrit dans le message de news:
7c99257e-41fb-4b66-aa4c-79f723bf1096@b15g2000yqd.googlegroups.com...
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le
parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité :
j'appellai ma fonction ainsi dans ma procédure principale : SortList
(Tblo)
ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer !
top100
On 30 juil, 11:08, Top100 <vincent.tops...@gmail.com> wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un
traitement sur ce tableau (un tri par ex) puis de retourner en sortie
de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne > un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce
tri directement dans la procedure principale, pas de soucis, ça
marche. Par contre quand je transforme le bout de code qui gère le tri
en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable
pouvait me porter secours, je lui en serais fort gré. Merci d'avance.
Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo()
Dim j, t, outer_loop, inner_loop as Integer
Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input As #1
'récupère toutes les valeurs du fichier dans un tableau
Do While Not EOF(1)
j = j + 1
ReDim Preserve Tblo(1 To j)
Line Input #1, Tblo(j)
Loop
'Sort de la macro si le fichier est vide ou n'existe pas
If j = 0 Then
Exit Sub
End If
'-------------------------------------------------
'Tri du tableau
'Tri par la fonction
' SortList (Tblo)
'Tri directement dans le code
'Boucle sur la liste du haut vers le bas
For outer_loop = UBound(Tblo) - 1 To LBound(Tblo) Step
-1
'Boucle sur la liste du bas vers le haut "en
cours"
For inner_loop = LBound(Tblo) To outer_loop
'Echange de place si l'element courant est
plus grand que le prochain element
If Tblo(inner_loop) > Tblo(inner_loop + 1)
Then
Bon ok, je vais me flageller à coups d'orties fraîches cul nu sur le parvis de l'hôtel de ville en chantant du Chantal Goya.
La solution pour la postérité : j'appellai ma fonction ainsi dans ma procédure principale : SortList (Tblo) ce qui est idiot (faut pas avoir peur des mots).
Tblo = SortList (Tblo) est beaucoup plus performant
Attention ça va chauffer ! top100
On 30 juil, 11:08, Top100 wrote:
Salutations,
Est-il possible d'envoyer un tableau dans une fonction, de faire un traitement sur ce tableau (un tri par ex) puis de retourner en sortie de fonction ce tableau traité ?
Je m'explique. Je stocke dans un tableau un fichier texte (une ligne > un item) que je souhaite trier alphabétiquement. lorsque j'effectue ce tri directement dans la procedure principale, pas de soucis, ça marche. Par contre quand je transforme le bout de code qui gère le tri en fonction, là ça ne marche plus.
Je me plante surement quelque part mais où ??? si une âme charitable pouvait me porter secours, je lui en serais fort gré. Merci d'avance. Top100
Le code :
Sub RechercherCodeListe()
Dim Tblo() Dim j, t, outer_loop, inner_loop as Integer Dim Temp as String
Open "D:Dossier de TestFichier_Pas_Tri.txt" For Input As #1
'récupère toutes les valeurs du fichier dans un tableau Do While Not EOF(1) j = j + 1 ReDim Preserve Tblo(1 To j) Line Input #1, Tblo(j) Loop
'Sort de la macro si le fichier est vide ou n'existe pas If j = 0 Then Exit Sub End If
'------------------------------------------------- 'Tri du tableau
'Tri par la fonction ' SortList (Tblo)
'Tri directement dans le code 'Boucle sur la liste du haut vers le bas For outer_loop = UBound(Tblo) - 1 To LBound(Tblo) Step -1
'Boucle sur la liste du bas vers le haut "en cours" For inner_loop = LBound(Tblo) To outer_loop
'Echange de place si l'element courant est plus grand que le prochain element If Tblo(inner_loop) > Tblo(inner_loop + 1) Then