Bonjour,
J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des
données en colonnes dont j'aimerais faire un tri.
ex:
Valeur1:1
Valeur2:vide (3e élément puisque le 3 n'est pas présent)
Valeur3:2
Valeur4:vide
Valeur5:4
Le but est de connaitre la position du i ème élément.
Ref(1) = 1 (puisque 1)
Ref(2) = 3 (puisque 2)
Ref(3) = 2 (vide)
Ref(4) = 5 (puisque 4)
Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 = output
(Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce
que quelqu'un aurait une idée comment faire?
Merci !
Alex
Sub tri()
Dim i As Integer, j As Integer, n As Integer
Dim ref(5) As Integer
n = 1
For i = 1 To 5
For j = 1 To 5
If Cells(j, 1) = i Then
ref(j) = i
n = n + 1
End If
Next j
If i = n Then 'Non aloué..
For j = 1 To 1 + 5 - 1
If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then
ref(j) = i
n = n + 1
Exit For
End If
Next j
End If
Next i
For i = 1 To 5
Cells(i, 2) = ref(i)
Next i
End Sub
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
Sonic
Bonjour.
Sub Tri2() Dim mem(5) For n = 1 To 5 mem(n) = n Cells(n, 3) = "" Next
For n = 1 To 5 For i = 1 To 5 If Cells(i, 1) = n Then Cells(n, 3) = i mem(i) = "" End If Next Next
For i = 1 To 5 If Cells(i, 3) = "" Then For n = 1 To 5 If mem(n) <> "" Then Cells(i, 3) = mem(n) mem(n) = "" Exit For End If Next End If Next
End Sub
"Alex St-Pierre" wrote in message news:
Bonjour, J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des données en colonnes dont j'aimerais faire un tri. ex: Valeur1:1 Valeur2:vide (3e élément puisque le 3 n'est pas présent) Valeur3:2 Valeur4:vide Valeur5:4 Le but est de connaitre la position du i ème élément. Ref(1) = 1 (puisque 1) Ref(2) = 3 (puisque 2) Ref(3) = 2 (vide) Ref(4) = 5 (puisque 4) Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 = output (Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce que quelqu'un aurait une idée comment faire? Merci ! Alex
Sub tri() Dim i As Integer, j As Integer, n As Integer Dim ref(5) As Integer n = 1 For i = 1 To 5 For j = 1 To 5 If Cells(j, 1) = i Then ref(j) = i n = n + 1 End If Next j If i = n Then 'Non aloué.. For j = 1 To 1 + 5 - 1 If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then ref(j) = i n = n + 1 Exit For End If Next j End If Next i For i = 1 To 5 Cells(i, 2) = ref(i) Next i End Sub
-- Alex St-Pierre
Bonjour.
Sub Tri2()
Dim mem(5)
For n = 1 To 5
mem(n) = n
Cells(n, 3) = ""
Next
For n = 1 To 5
For i = 1 To 5
If Cells(i, 1) = n Then
Cells(n, 3) = i
mem(i) = ""
End If
Next
Next
For i = 1 To 5
If Cells(i, 3) = "" Then
For n = 1 To 5
If mem(n) <> "" Then
Cells(i, 3) = mem(n)
mem(n) = ""
Exit For
End If
Next
End If
Next
End Sub
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> wrote in message
news:499A67BF-58C3-48D2-8753-0982E775E07C@microsoft.com...
Bonjour,
J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des
données en colonnes dont j'aimerais faire un tri.
ex:
Valeur1:1
Valeur2:vide (3e élément puisque le 3 n'est pas présent)
Valeur3:2
Valeur4:vide
Valeur5:4
Le but est de connaitre la position du i ème élément.
Ref(1) = 1 (puisque 1)
Ref(2) = 3 (puisque 2)
Ref(3) = 2 (vide)
Ref(4) = 5 (puisque 4)
Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 =
output
(Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce
que quelqu'un aurait une idée comment faire?
Merci !
Alex
Sub tri()
Dim i As Integer, j As Integer, n As Integer
Dim ref(5) As Integer
n = 1
For i = 1 To 5
For j = 1 To 5
If Cells(j, 1) = i Then
ref(j) = i
n = n + 1
End If
Next j
If i = n Then 'Non aloué..
For j = 1 To 1 + 5 - 1
If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then
ref(j) = i
n = n + 1
Exit For
End If
Next j
End If
Next i
For i = 1 To 5
Cells(i, 2) = ref(i)
Next i
End Sub
Sub Tri2() Dim mem(5) For n = 1 To 5 mem(n) = n Cells(n, 3) = "" Next
For n = 1 To 5 For i = 1 To 5 If Cells(i, 1) = n Then Cells(n, 3) = i mem(i) = "" End If Next Next
For i = 1 To 5 If Cells(i, 3) = "" Then For n = 1 To 5 If mem(n) <> "" Then Cells(i, 3) = mem(n) mem(n) = "" Exit For End If Next End If Next
End Sub
"Alex St-Pierre" wrote in message news:
Bonjour, J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des données en colonnes dont j'aimerais faire un tri. ex: Valeur1:1 Valeur2:vide (3e élément puisque le 3 n'est pas présent) Valeur3:2 Valeur4:vide Valeur5:4 Le but est de connaitre la position du i ème élément. Ref(1) = 1 (puisque 1) Ref(2) = 3 (puisque 2) Ref(3) = 2 (vide) Ref(4) = 5 (puisque 4) Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 = output (Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce que quelqu'un aurait une idée comment faire? Merci ! Alex
Sub tri() Dim i As Integer, j As Integer, n As Integer Dim ref(5) As Integer n = 1 For i = 1 To 5 For j = 1 To 5 If Cells(j, 1) = i Then ref(j) = i n = n + 1 End If Next j If i = n Then 'Non aloué.. For j = 1 To 1 + 5 - 1 If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then ref(j) = i n = n + 1 Exit For End If Next j End If Next i For i = 1 To 5 Cells(i, 2) = ref(i) Next i End Sub
-- Alex St-Pierre
Alex St-Pierre
Merci Sonic!! ça fonctionne très bien. -- Alex St-Pierre
"Sonic" wrote:
Bonjour.
Sub Tri2() Dim mem(5) For n = 1 To 5 mem(n) = n Cells(n, 3) = "" Next
For n = 1 To 5 For i = 1 To 5 If Cells(i, 1) = n Then Cells(n, 3) = i mem(i) = "" End If Next Next
For i = 1 To 5 If Cells(i, 3) = "" Then For n = 1 To 5 If mem(n) <> "" Then Cells(i, 3) = mem(n) mem(n) = "" Exit For End If Next End If Next
End Sub
"Alex St-Pierre" wrote in message news:
Bonjour, J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des données en colonnes dont j'aimerais faire un tri. ex: Valeur1:1 Valeur2:vide (3e élément puisque le 3 n'est pas présent) Valeur3:2 Valeur4:vide Valeur5:4 Le but est de connaitre la position du i ème élément. Ref(1) = 1 (puisque 1) Ref(2) = 3 (puisque 2) Ref(3) = 2 (vide) Ref(4) = 5 (puisque 4) Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 = output (Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce que quelqu'un aurait une idée comment faire? Merci ! Alex
Sub tri() Dim i As Integer, j As Integer, n As Integer Dim ref(5) As Integer n = 1 For i = 1 To 5 For j = 1 To 5 If Cells(j, 1) = i Then ref(j) = i n = n + 1 End If Next j If i = n Then 'Non aloué.. For j = 1 To 1 + 5 - 1 If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then ref(j) = i n = n + 1 Exit For End If Next j End If Next i For i = 1 To 5 Cells(i, 2) = ref(i) Next i End Sub
-- Alex St-Pierre
Merci Sonic!! ça fonctionne très bien.
--
Alex St-Pierre
"Sonic" wrote:
Bonjour.
Sub Tri2()
Dim mem(5)
For n = 1 To 5
mem(n) = n
Cells(n, 3) = ""
Next
For n = 1 To 5
For i = 1 To 5
If Cells(i, 1) = n Then
Cells(n, 3) = i
mem(i) = ""
End If
Next
Next
For i = 1 To 5
If Cells(i, 3) = "" Then
For n = 1 To 5
If mem(n) <> "" Then
Cells(i, 3) = mem(n)
mem(n) = ""
Exit For
End If
Next
End If
Next
End Sub
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> wrote in message
news:499A67BF-58C3-48D2-8753-0982E775E07C@microsoft.com...
Bonjour,
J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des
données en colonnes dont j'aimerais faire un tri.
ex:
Valeur1:1
Valeur2:vide (3e élément puisque le 3 n'est pas présent)
Valeur3:2
Valeur4:vide
Valeur5:4
Le but est de connaitre la position du i ème élément.
Ref(1) = 1 (puisque 1)
Ref(2) = 3 (puisque 2)
Ref(3) = 2 (vide)
Ref(4) = 5 (puisque 4)
Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 =
output
(Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce
que quelqu'un aurait une idée comment faire?
Merci !
Alex
Sub tri()
Dim i As Integer, j As Integer, n As Integer
Dim ref(5) As Integer
n = 1
For i = 1 To 5
For j = 1 To 5
If Cells(j, 1) = i Then
ref(j) = i
n = n + 1
End If
Next j
If i = n Then 'Non aloué..
For j = 1 To 1 + 5 - 1
If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then
ref(j) = i
n = n + 1
Exit For
End If
Next j
End If
Next i
For i = 1 To 5
Cells(i, 2) = ref(i)
Next i
End Sub
Merci Sonic!! ça fonctionne très bien. -- Alex St-Pierre
"Sonic" wrote:
Bonjour.
Sub Tri2() Dim mem(5) For n = 1 To 5 mem(n) = n Cells(n, 3) = "" Next
For n = 1 To 5 For i = 1 To 5 If Cells(i, 1) = n Then Cells(n, 3) = i mem(i) = "" End If Next Next
For i = 1 To 5 If Cells(i, 3) = "" Then For n = 1 To 5 If mem(n) <> "" Then Cells(i, 3) = mem(n) mem(n) = "" Exit For End If Next End If Next
End Sub
"Alex St-Pierre" wrote in message news:
Bonjour, J'éprouve certains problèmes à effectuer le tri d'un vecteur. J'ai des données en colonnes dont j'aimerais faire un tri. ex: Valeur1:1 Valeur2:vide (3e élément puisque le 3 n'est pas présent) Valeur3:2 Valeur4:vide Valeur5:4 Le but est de connaitre la position du i ème élément. Ref(1) = 1 (puisque 1) Ref(2) = 3 (puisque 2) Ref(3) = 2 (vide) Ref(4) = 5 (puisque 4) Ref(5) = 4 (vide)
J'ai pensé au programme suivant A1 à A5 = input(Valeur) et B1 à B5 = output (Ref) mais le fait d'avoir plusieurs espace vide ne fonctionne pas. Est-ce que quelqu'un aurait une idée comment faire? Merci ! Alex
Sub tri() Dim i As Integer, j As Integer, n As Integer Dim ref(5) As Integer n = 1 For i = 1 To 5 For j = 1 To 5 If Cells(j, 1) = i Then ref(j) = i n = n + 1 End If Next j If i = n Then 'Non aloué.. For j = 1 To 1 + 5 - 1 If Cells(j, 1) = 0 Or Cells(j, 1) = "" Then ref(j) = i n = n + 1 Exit For End If Next j End If Next i For i = 1 To 5 Cells(i, 2) = ref(i) Next i End Sub