onglets des feuilles dans excel par ordre croissant?

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.j
Le #18693621
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"
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.


Azo4
Le #18693611
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" 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.


Océane
Le #18694131
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" 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.




Océane
Le #18694121
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"
> 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.





michdenis
Le #18694251
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" 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.
Océane
Le #18694451
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" 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.



michdenis
Le #18694671
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" :
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" 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.



michdenis
Le #18694661
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" :
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" 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.



Océane
Le #18695341
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" :
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" > 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.
>


Océane
Le #18695701
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" 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.




Publicité
Poster une réponse
Anonyme