Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

onglets des feuilles dans excel par ordre croissant?

11 réponses
Avatar
Océane
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.

10 réponses

1 2
Avatar
Daniel.j
Bonjour
http://dj.joss.free.fr/feuil.htm

Daniel

--
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/
"Océane" <Océ a écrit dans le message de news:

bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel
avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles
excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour
le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.


Avatar
Azo4
tu veux parler de l'ordre"alphabétique"?
tu veux trier les onglets? les lignes?

--
Serge CENCI
MVP MS Windows
https://mvp.support.microsoft.com/profile/Serge.Cenci
http://www.communautes-numeriques.net/



"Océane" <Océ a écrit dans le message de
news:
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel
avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles
excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour
le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.


Avatar
Océane
bjr, les onglets en bas des feuilles d'un classeurs excel. Merci

"Azo4" a écrit :

tu veux parler de l'ordre"alphabétique"?
tu veux trier les onglets? les lignes?

--
Serge CENCI
MVP MS Windows
https://mvp.support.microsoft.com/profile/Serge.Cenci
http://www.communautes-numeriques.net/



"Océane" <Océ a écrit dans le message de
news:
> bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel
> avec
> mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles
> excel
> et je voudrai les mettre par ordre croissant? existe t il un systeme pour
> le
> faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
> novice dans excel. cordialement Océane.




Avatar
Océane
bonjour, merci de m'avoir epondu, mais je suis incapable de faire tout ça.
Cordialement Oceane

"Daniel.j" a écrit :

Bonjour
http://dj.joss.free.fr/feuil.htm

Daniel

--
FAQ MPFE
http://dj.joss.free.fr/faq.htm

VBAXL
http://dj.joss.free.fr/
"Océane" <Océ a écrit dans le message de news:

> bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel
> avec
> mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles
> excel
> et je voudrai les mettre par ordre croissant? existe t il un systeme pour
> le
> faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
> novice dans excel. cordialement Océane.





Avatar
michdenis
Tu copie tout ceci dans un module
et tu lances la procédure : TriFeuilles

Cette façon de faire fut proposé par AV et
elle a été écrire par Laurent Longre

'--------------------------------------
Dim Arr(), Idx() As Integer
Dim Elt1, Elt2, IdxTemp As Integer
Dim I As Integer

Sub TriFeuilles()

Dim J As Integer, NF As Integer
Dim Nom() As String
Dim Calc As Long

NF = Sheets.Count
ReDim Nom(1 To NF)
ReDim Arr(1 To NF, 1 To 2)
For I = 1 To NF
Nom(I) = Sheets(I).Name
For J = Len(Nom(I)) To 1 Step -1
If Not IsNumeric(Mid$(Nom(I), J, 1)) Then Exit For
Next J
If J = Len(Nom(I)) Then
Arr(I, 1) = Nom(I)
Else
Arr(I, 1) = Left$(Nom(I), J)
Arr(I, 2) = CLng(Mid$(Nom(I), J + 1))
End If
Next I
ReDim Idx(1 To NF)
For I = 1 To UBound(Idx)
Idx(I) = I
Next I
Tri 1, NF
Erase Arr
Calc = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For I = 1 To NF
Sheets(Nom(Idx(I))).Move Sheets(I)
Next I
Application.Calculation = Calc

End Sub

Private Sub Tri(ByVal B1 As Integer, ByVal H1 As Integer)

Dim B2 As Integer
Dim H2 As Integer

B2 = B1
H2 = H1
Elt1 = Arr(Idx((B1 + H1) 2), 1)
Elt2 = Arr(Idx((B1 + H1) 2), 2)
Do While B2 < H2
Do While B2 < H1
If Arr(Idx(B2), 1) > Elt1 Then Exit Do
If Arr(Idx(B2), 1) = Elt1 Then _
If Arr(Idx(B2), 2) >= Elt2 Then Exit Do
B2 = B2 + 1
Loop
Do While H2 > B1
If Arr(Idx(H2), 1) < Elt1 Then Exit Do
If Arr(Idx(H2), 1) = Elt1 Then _
If Arr(Idx(H2), 2) <= Elt2 Then Exit Do
H2 = H2 - 1
Loop
If B2 < H2 Then
IdxTemp = Idx(B2)
Idx(B2) = Idx(H2)
Idx(H2) = IdxTemp
End If
If B2 <= H2 Then
B2 = B2 + 1
H2 = H2 - 1
End If
Loop
If H2 > B1 Then Tri B1, H2
If B2 < H1 Then Tri B2, H1

End Sub
'--------------------------------------





"Océane" <Océ a écrit dans le message de groupe de
discussion :
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.
Avatar
Océane
Bonjour, merci beaucoup de me repondre; mais jn'y comprends rien! c'est quoi
un "module"et ou le trouver? je suis vraiment une novice et j'ose pas trop
trifouiller encore. merci cordialement Océane

"michdenis" a écrit :

Tu copie tout ceci dans un module
et tu lances la procédure : TriFeuilles

Cette façon de faire fut proposé par AV et
elle a été écrire par Laurent Longre

'--------------------------------------
Dim Arr(), Idx() As Integer
Dim Elt1, Elt2, IdxTemp As Integer
Dim I As Integer

Sub TriFeuilles()

Dim J As Integer, NF As Integer
Dim Nom() As String
Dim Calc As Long

NF = Sheets.Count
ReDim Nom(1 To NF)
ReDim Arr(1 To NF, 1 To 2)
For I = 1 To NF
Nom(I) = Sheets(I).Name
For J = Len(Nom(I)) To 1 Step -1
If Not IsNumeric(Mid$(Nom(I), J, 1)) Then Exit For
Next J
If J = Len(Nom(I)) Then
Arr(I, 1) = Nom(I)
Else
Arr(I, 1) = Left$(Nom(I), J)
Arr(I, 2) = CLng(Mid$(Nom(I), J + 1))
End If
Next I
ReDim Idx(1 To NF)
For I = 1 To UBound(Idx)
Idx(I) = I
Next I
Tri 1, NF
Erase Arr
Calc = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For I = 1 To NF
Sheets(Nom(Idx(I))).Move Sheets(I)
Next I
Application.Calculation = Calc

End Sub

Private Sub Tri(ByVal B1 As Integer, ByVal H1 As Integer)

Dim B2 As Integer
Dim H2 As Integer

B2 = B1
H2 = H1
Elt1 = Arr(Idx((B1 + H1) 2), 1)
Elt2 = Arr(Idx((B1 + H1) 2), 2)
Do While B2 < H2
Do While B2 < H1
If Arr(Idx(B2), 1) > Elt1 Then Exit Do
If Arr(Idx(B2), 1) = Elt1 Then _
If Arr(Idx(B2), 2) >= Elt2 Then Exit Do
B2 = B2 + 1
Loop
Do While H2 > B1
If Arr(Idx(H2), 1) < Elt1 Then Exit Do
If Arr(Idx(H2), 1) = Elt1 Then _
If Arr(Idx(H2), 2) <= Elt2 Then Exit Do
H2 = H2 - 1
Loop
If B2 < H2 Then
IdxTemp = Idx(B2)
Idx(B2) = Idx(H2)
Idx(H2) = IdxTemp
End If
If B2 <= H2 Then
B2 = B2 + 1
H2 = H2 - 1
End If
Loop
If H2 > B1 Then Tri B1, H2
If B2 < H1 Then Tri B2, H1

End Sub
'--------------------------------------





"Océane" <Océ a écrit dans le message de groupe de
discussion :
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.



Avatar
michdenis
Un clic droit sur un des onglets d'une feuille de ton classeur
et tu sélectionnes "Visualiser le code" dans la liste du menu
contextuel. La fenêtre de l'éditeur de code s'ouvrira et tu
fais un copier-coller du code transmis vers cette page blanche.



"Océane" a écrit dans le message de groupe de discussion
:
Bonjour, merci beaucoup de me repondre; mais jn'y comprends rien! c'est quoi
un "module"et ou le trouver? je suis vraiment une novice et j'ose pas trop
trifouiller encore. merci cordialement Océane

"michdenis" a écrit :

Tu copie tout ceci dans un module
et tu lances la procédure : TriFeuilles

Cette façon de faire fut proposé par AV et
elle a été écrire par Laurent Longre

'--------------------------------------
Dim Arr(), Idx() As Integer
Dim Elt1, Elt2, IdxTemp As Integer
Dim I As Integer

Sub TriFeuilles()

Dim J As Integer, NF As Integer
Dim Nom() As String
Dim Calc As Long

NF = Sheets.Count
ReDim Nom(1 To NF)
ReDim Arr(1 To NF, 1 To 2)
For I = 1 To NF
Nom(I) = Sheets(I).Name
For J = Len(Nom(I)) To 1 Step -1
If Not IsNumeric(Mid$(Nom(I), J, 1)) Then Exit For
Next J
If J = Len(Nom(I)) Then
Arr(I, 1) = Nom(I)
Else
Arr(I, 1) = Left$(Nom(I), J)
Arr(I, 2) = CLng(Mid$(Nom(I), J + 1))
End If
Next I
ReDim Idx(1 To NF)
For I = 1 To UBound(Idx)
Idx(I) = I
Next I
Tri 1, NF
Erase Arr
Calc = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For I = 1 To NF
Sheets(Nom(Idx(I))).Move Sheets(I)
Next I
Application.Calculation = Calc

End Sub

Private Sub Tri(ByVal B1 As Integer, ByVal H1 As Integer)

Dim B2 As Integer
Dim H2 As Integer

B2 = B1
H2 = H1
Elt1 = Arr(Idx((B1 + H1) 2), 1)
Elt2 = Arr(Idx((B1 + H1) 2), 2)
Do While B2 < H2
Do While B2 < H1
If Arr(Idx(B2), 1) > Elt1 Then Exit Do
If Arr(Idx(B2), 1) = Elt1 Then _
If Arr(Idx(B2), 2) >= Elt2 Then Exit Do
B2 = B2 + 1
Loop
Do While H2 > B1
If Arr(Idx(H2), 1) < Elt1 Then Exit Do
If Arr(Idx(H2), 1) = Elt1 Then _
If Arr(Idx(H2), 2) <= Elt2 Then Exit Do
H2 = H2 - 1
Loop
If B2 < H2 Then
IdxTemp = Idx(B2)
Idx(B2) = Idx(H2)
Idx(H2) = IdxTemp
End If
If B2 <= H2 Then
B2 = B2 + 1
H2 = H2 - 1
End If
Loop
If H2 > B1 Then Tri B1, H2
If B2 < H1 Then Tri B2, H1

End Sub
'--------------------------------------





"Océane" <Océ a écrit dans le message de groupe de
discussion :
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.



Avatar
michdenis
J'ai oublié l'essentiel.
tu reviens à l'interface de calcul,
utilise le raccourci clavier Alt + F8
Le nom de la macro apparaîtra dans la fenêtre.
tu la sélectionnes et appuies sur le bouton exécuter.



"Océane" a écrit dans le message de groupe de discussion
:
Bonjour, merci beaucoup de me repondre; mais jn'y comprends rien! c'est quoi
un "module"et ou le trouver? je suis vraiment une novice et j'ose pas trop
trifouiller encore. merci cordialement Océane

"michdenis" a écrit :

Tu copie tout ceci dans un module
et tu lances la procédure : TriFeuilles

Cette façon de faire fut proposé par AV et
elle a été écrire par Laurent Longre

'--------------------------------------
Dim Arr(), Idx() As Integer
Dim Elt1, Elt2, IdxTemp As Integer
Dim I As Integer

Sub TriFeuilles()

Dim J As Integer, NF As Integer
Dim Nom() As String
Dim Calc As Long

NF = Sheets.Count
ReDim Nom(1 To NF)
ReDim Arr(1 To NF, 1 To 2)
For I = 1 To NF
Nom(I) = Sheets(I).Name
For J = Len(Nom(I)) To 1 Step -1
If Not IsNumeric(Mid$(Nom(I), J, 1)) Then Exit For
Next J
If J = Len(Nom(I)) Then
Arr(I, 1) = Nom(I)
Else
Arr(I, 1) = Left$(Nom(I), J)
Arr(I, 2) = CLng(Mid$(Nom(I), J + 1))
End If
Next I
ReDim Idx(1 To NF)
For I = 1 To UBound(Idx)
Idx(I) = I
Next I
Tri 1, NF
Erase Arr
Calc = Application.Calculation
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For I = 1 To NF
Sheets(Nom(Idx(I))).Move Sheets(I)
Next I
Application.Calculation = Calc

End Sub

Private Sub Tri(ByVal B1 As Integer, ByVal H1 As Integer)

Dim B2 As Integer
Dim H2 As Integer

B2 = B1
H2 = H1
Elt1 = Arr(Idx((B1 + H1) 2), 1)
Elt2 = Arr(Idx((B1 + H1) 2), 2)
Do While B2 < H2
Do While B2 < H1
If Arr(Idx(B2), 1) > Elt1 Then Exit Do
If Arr(Idx(B2), 1) = Elt1 Then _
If Arr(Idx(B2), 2) >= Elt2 Then Exit Do
B2 = B2 + 1
Loop
Do While H2 > B1
If Arr(Idx(H2), 1) < Elt1 Then Exit Do
If Arr(Idx(H2), 1) = Elt1 Then _
If Arr(Idx(H2), 2) <= Elt2 Then Exit Do
H2 = H2 - 1
Loop
If B2 < H2 Then
IdxTemp = Idx(B2)
Idx(B2) = Idx(H2)
Idx(H2) = IdxTemp
End If
If B2 <= H2 Then
B2 = B2 + 1
H2 = H2 - 1
End If
Loop
If H2 > B1 Then Tri B1, H2
If B2 < H1 Then Tri B2, H1

End Sub
'--------------------------------------





"Océane" <Océ a écrit dans le message de groupe de
discussion :
bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
novice dans excel. cordialement Océane.



Avatar
Océane
super merci ,j'ai réussi! magnifique je ne m'en croyais pas capable! c'est
mon 1er sos sur un forum, je suis pas déçue! je reviendrai voir toutes les
questions posées! Encore un grand merci, et c'est bien peu pour ce que je
viens d'apprenre! Cordialemen Oceane.

"michdenis" a écrit :

J'ai oublié l'essentiel.
tu reviens à l'interface de calcul,
utilise le raccourci clavier Alt + F8
Le nom de la macro apparaîtra dans la fenêtre.
tu la sélectionnes et appuies sur le bouton exécuter.



"Océane" a écrit dans le message de groupe de discussion
:
Bonjour, merci beaucoup de me repondre; mais jn'y comprends rien! c'est quoi
un "module"et ou le trouver? je suis vraiment une novice et j'ose pas trop
trifouiller encore. merci cordialement Océane

"michdenis" a écrit :

> Tu copie tout ceci dans un module
> et tu lances la procédure : TriFeuilles
>
> Cette façon de faire fut proposé par AV et
> elle a été écrire par Laurent Longre
>
> '--------------------------------------
> Dim Arr(), Idx() As Integer
> Dim Elt1, Elt2, IdxTemp As Integer
> Dim I As Integer
>
> Sub TriFeuilles()
>
> Dim J As Integer, NF As Integer
> Dim Nom() As String
> Dim Calc As Long
>
> NF = Sheets.Count
> ReDim Nom(1 To NF)
> ReDim Arr(1 To NF, 1 To 2)
> For I = 1 To NF
> Nom(I) = Sheets(I).Name
> For J = Len(Nom(I)) To 1 Step -1
> If Not IsNumeric(Mid$(Nom(I), J, 1)) Then Exit For
> Next J
> If J = Len(Nom(I)) Then
> Arr(I, 1) = Nom(I)
> Else
> Arr(I, 1) = Left$(Nom(I), J)
> Arr(I, 2) = CLng(Mid$(Nom(I), J + 1))
> End If
> Next I
> ReDim Idx(1 To NF)
> For I = 1 To UBound(Idx)
> Idx(I) = I
> Next I
> Tri 1, NF
> Erase Arr
> Calc = Application.Calculation
> Application.Calculation = xlCalculationManual
> Application.ScreenUpdating = False
> For I = 1 To NF
> Sheets(Nom(Idx(I))).Move Sheets(I)
> Next I
> Application.Calculation = Calc
>
> End Sub
>
> Private Sub Tri(ByVal B1 As Integer, ByVal H1 As Integer)
>
> Dim B2 As Integer
> Dim H2 As Integer
>
> B2 = B1
> H2 = H1
> Elt1 = Arr(Idx((B1 + H1) 2), 1)
> Elt2 = Arr(Idx((B1 + H1) 2), 2)
> Do While B2 < H2
> Do While B2 < H1
> If Arr(Idx(B2), 1) > Elt1 Then Exit Do
> If Arr(Idx(B2), 1) = Elt1 Then _
> If Arr(Idx(B2), 2) >= Elt2 Then Exit Do
> B2 = B2 + 1
> Loop
> Do While H2 > B1
> If Arr(Idx(H2), 1) < Elt1 Then Exit Do
> If Arr(Idx(H2), 1) = Elt1 Then _
> If Arr(Idx(H2), 2) <= Elt2 Then Exit Do
> H2 = H2 - 1
> Loop
> If B2 < H2 Then
> IdxTemp = Idx(B2)
> Idx(B2) = Idx(H2)
> Idx(H2) = IdxTemp
> End If
> If B2 <= H2 Then
> B2 = B2 + 1
> H2 = H2 - 1
> End If
> Loop
> If H2 > B1 Then Tri B1, H2
> If B2 < H1 Then Tri B2, H1
>
> End Sub
> '--------------------------------------
>
>
>
>
>
> "Océane" <Océ a écrit dans le message de groupe de
> discussion :
> bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel avec
> mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles excel
> et je voudrai les mettre par ordre croissant? existe t il un systeme pour le
> faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
> novice dans excel. cordialement Océane.
>


Avatar
Océane
merci beaucoup de m'avoir repondu, j'ai été depanné par un menmbre du forum.

"Azo4" a écrit :

tu veux parler de l'ordre"alphabétique"?
tu veux trier les onglets? les lignes?

--
Serge CENCI
MVP MS Windows
https://mvp.support.microsoft.com/profile/Serge.Cenci
http://www.communautes-numeriques.net/



"Océane" <Océ a écrit dans le message de
news:
> bjr,je m'appelle Oceane et j'envoie un sos; j'ai créé un classeur excel
> avec
> mes cd de musique, j'ai rentré tous les noms dans l'onglet des feuilles
> excel
> et je voudrai les mettre par ordre croissant? existe t il un systeme pour
> le
> faire? j'emploie excel 2007. Merci beaucoup pour votre aide. suis tres
> novice dans excel. cordialement Océane.




1 2