Ce code doit trier les onglets.
J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème
gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count
For J = 3 To Sheets.Count
mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets()
On Error Resume Next
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count
For J = 1 To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then
Sheets(J).Move Sheets(i)
End If
Next J
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
Yoyo
Bonsoir,
Peut-être ainsi :
Sub KeepSheets1and2() ' Sheets("Sommaire").Move Before:=Sheets(1) Sheets("Classe").Move Before:=Sheets(2) End Sub
Amicalement Yoyo
"Quaisako" a écrit dans le message de news:
Bonsoir le Forum,
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
Bonsoir,
Peut-être ainsi :
Sub KeepSheets1and2()
'
Sheets("Sommaire").Move Before:=Sheets(1)
Sheets("Classe").Move Before:=Sheets(2)
End Sub
Amicalement
Yoyo
"Quaisako" <jean_pierre_rome@hotmail.com> a écrit dans le message de
news:ueP9TG4JGHA.2992@tk2msftngp13.phx.gbl...
Bonsoir le Forum,
Ce code doit trier les onglets.
J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème
gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count
For J = 3 To Sheets.Count
mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets()
On Error Resume Next
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count
For J = 1 To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then
Sheets(J).Move Sheets(i)
End If
Next J
Next i
End Sub
Sub KeepSheets1and2() ' Sheets("Sommaire").Move Before:=Sheets(1) Sheets("Classe").Move Before:=Sheets(2) End Sub
Amicalement Yoyo
"Quaisako" a écrit dans le message de news:
Bonsoir le Forum,
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
michdenis
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher disponible dans un fichier sur excelabo
"Quaisako" a écrit dans le message de news: Bonsoir le Forum,
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher
disponible dans un fichier sur excelabo
"Quaisako" <jean_pierre_rome@hotmail.com> a écrit dans le message de news: ueP9TG4JGHA.2992@tk2msftngp13.phx.gbl...
Bonsoir le Forum,
Ce code doit trier les onglets.
J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème
gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count
For J = 3 To Sheets.Count
mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets()
On Error Resume Next
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count
For J = 1 To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then
Sheets(J).Move Sheets(i)
End If
Next J
Next i
End Sub
"Quaisako" a écrit dans le message de news: Bonsoir le Forum,
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
Quaisako
Bonjour le Forum,
j'avais testé, et trouvais la procédure de Daniel Maher un peu compliquée à automatiser, vu que dans mon cas je n'ai que des "string " à gérer.
Merci pour tout
Jipé
"michdenis" a écrit dans le message de news:
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher disponible dans un fichier sur excelabo
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
Bonjour le Forum,
j'avais testé, et trouvais la procédure de Daniel Maher un peu compliquée à
automatiser, vu que dans mon cas je n'ai que des "string " à gérer.
Merci pour tout
Jipé
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
O7TDJb4JGHA.604@TK2MSFTNGP14.phx.gbl...
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher
disponible dans un fichier sur excelabo
"Quaisako" <jean_pierre_rome@hotmail.com> a écrit dans le message de news:
ueP9TG4JGHA.2992@tk2msftngp13.phx.gbl...
Bonsoir le Forum,
Ce code doit trier les onglets.
J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème
gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count
For J = 3 To Sheets.Count
mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets()
On Error Resume Next
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count
For J = 1 To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then
Sheets(J).Move Sheets(i)
End If
Next J
Next i
End Sub
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
michdenis
Bonjour Quaisako,
Il y aurait ceci :
'-------------------------------- Sub test()
Dim T() ReDim T(1 To ThisWorkbook.Sheets.Count)
For a = 1 To UBound(T) T(a) = Sheets(a).Name Next ListSort T For a = 1 To UBound(T) Sheets(T(a)).Move before:=Sheets(a) Next
End Sub
'-------------------------------- Function ListSort(liSte)
Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp First = LBound(liSte) Last = UBound(liSte) For i = First To Last - 1 For j = i + 1 To Last If liSte(i) > liSte(j) Then Temp = liSte(j) liSte(j) = liSte(i) liSte(i) = Temp End If Next j Next i ListSort = liSte End Function '--------------------------------
Salutations!
"Quaisako" a écrit dans le message de news: % Bonjour le Forum,
j'avais testé, et trouvais la procédure de Daniel Maher un peu compliquée à automatiser, vu que dans mon cas je n'ai que des "string " à gérer.
Merci pour tout
Jipé
"michdenis" a écrit dans le message de news:
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher disponible dans un fichier sur excelabo
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
Bonjour Quaisako,
Il y aurait ceci :
'--------------------------------
Sub test()
Dim T()
ReDim T(1 To ThisWorkbook.Sheets.Count)
For a = 1 To UBound(T)
T(a) = Sheets(a).Name
Next
ListSort T
For a = 1 To UBound(T)
Sheets(T(a)).Move before:=Sheets(a)
Next
End Sub
'--------------------------------
Function ListSort(liSte)
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp
First = LBound(liSte)
Last = UBound(liSte)
For i = First To Last - 1
For j = i + 1 To Last
If liSte(i) > liSte(j) Then
Temp = liSte(j)
liSte(j) = liSte(i)
liSte(i) = Temp
End If
Next j
Next i
ListSort = liSte
End Function
'--------------------------------
Salutations!
"Quaisako" <jean_pierre_rome@hotmail.com> a écrit dans le message de news: %23UTtOM9JGHA.1424@TK2MSFTNGP12.phx.gbl...
Bonjour le Forum,
j'avais testé, et trouvais la procédure de Daniel Maher un peu compliquée à
automatiser, vu que dans mon cas je n'ai que des "string " à gérer.
Merci pour tout
Jipé
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
O7TDJb4JGHA.604@TK2MSFTNGP14.phx.gbl...
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher
disponible dans un fichier sur excelabo
"Quaisako" <jean_pierre_rome@hotmail.com> a écrit dans le message de news:
ueP9TG4JGHA.2992@tk2msftngp13.phx.gbl...
Bonsoir le Forum,
Ce code doit trier les onglets.
J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème
gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count
For J = 3 To Sheets.Count
mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets()
On Error Resume Next
Dim i As Integer, J As Integer
For i = 1 To Sheets.Count
For J = 1 To Sheets.Count
If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then
Sheets(J).Move Sheets(i)
End If
Next J
Next i
End Sub
For a = 1 To UBound(T) T(a) = Sheets(a).Name Next ListSort T For a = 1 To UBound(T) Sheets(T(a)).Move before:=Sheets(a) Next
End Sub
'-------------------------------- Function ListSort(liSte)
Dim First As Integer, Last As Integer Dim i As Integer, j As Integer Dim Temp First = LBound(liSte) Last = UBound(liSte) For i = First To Last - 1 For j = i + 1 To Last If liSte(i) > liSte(j) Then Temp = liSte(j) liSte(j) = liSte(i) liSte(i) = Temp End If Next j Next i ListSort = liSte End Function '--------------------------------
Salutations!
"Quaisako" a écrit dans le message de news: % Bonjour le Forum,
j'avais testé, et trouvais la procédure de Daniel Maher un peu compliquée à automatiser, vu que dans mon cas je n'ai que des "string " à gérer.
Merci pour tout
Jipé
"michdenis" a écrit dans le message de news:
Bonjour Quaisako,
La procédure la plus complète est celle de Daniel Maher disponible dans un fichier sur excelabo
Ce code doit trier les onglets. J'en ai 2 nommés "Sommaire" et "Classe", que j'aimerai garder à l'extrème gauche de la barre d'onglets.
Pour trier à partir du 3eme, que dois-je faire ?
J'ai tenté : For i = 3 To Sheets.Count For J = 3 To Sheets.Count mais ça ne fonctionne pas à coup sûr.
Merci d'avance
Jipé
Sub TriNomsOnglets() On Error Resume Next Dim i As Integer, J As Integer For i = 1 To Sheets.Count For J = 1 To Sheets.Count If UCase(Sheets(J).Name) < UCase(Sheets(i).Name) Then Sheets(J).Move Sheets(i) End If Next J Next i End Sub
JB
Bonjour
Sub tri_ongletDirect() Application.ScreenUpdating = False For i = 1 To Sheets.Count For j = i To Sheets.Count If UCase(Sheets(j).Name) < UCase(Sheets(i).Name) Then Sheets(i).Move before:=Sheets(j) Sheets(j).Move before:=Sheets(i) End If Next j Next i End Sub
Cordialement JB
Bonjour
Sub tri_ongletDirect()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
For j = i To Sheets.Count
If UCase(Sheets(j).Name) < UCase(Sheets(i).Name) Then
Sheets(i).Move before:=Sheets(j)
Sheets(j).Move before:=Sheets(i)
End If
Next j
Next i
End Sub
Sub tri_ongletDirect() Application.ScreenUpdating = False For i = 1 To Sheets.Count For j = i To Sheets.Count If UCase(Sheets(j).Name) < UCase(Sheets(i).Name) Then Sheets(i).Move before:=Sheets(j) Sheets(j).Move before:=Sheets(i) End If Next j Next i End Sub