Tri Alphabétique onglets d'un classeur

  • Initiateur de la discussion Initiateur de la discussion Macpoy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Macpoy

XLDnaute Impliqué
Bonsoir le forum,
je souhaite grâce a VBA, trier alphabétiquement les onglets d'un classeur.
car il m'arrive de rajouter une ou plusieurs feuilles dans ce classeur et pour le moment je n'arrive qu'a la mettre en dernier !! ce qui engendre ( à mon gout )un cafarnaum dans les onglets du classeur.
donc la feuille de M. untel (existante) doit se trouver après la feuille de M. Adeux que je viens de créer.
j'espère que comme moi vous avez compris ma demande !!! (le français n'est pas toujours simple pour s'exprimer !!! désolé)
merci d'avance à ceux qui se pencherons sur mon petit pb.
 
Re : Tri Alphabétique onglets d'un classeur

Bonsoir Jacques,

As-tu regardé les cinq discussions similaires en bas de ce fil, le 2, 3 et 4 dont les titres sont vraiment semblables.

Sinon, il y a eu, ce n'est pas trop vieux, octobre, je crois une discussion la dessus.

Bonne soirée.

Jean-Pierre
 
Re : Tri Alphabétique onglets d'un classeur

Re le forum, Jean-Pierre , Boisgontier, Banzai64,

je n'ai même pas eu le temps de suivre tes conseils JP, d'autres excelliens ont donnés la réponse en même temps que toi.

merci beaucoup Boisgontier et Banzai64,
vos quelques lignes répondent parfaitement à mes besoins. il ne me reste plus qu'a les adapter.... car le tri ne doit commencer qu'a partir de la feuille(5).
donc
Sub tri_ongletDirect()
Application.ScreenUpdating = False
For i = 5 To Sheets.Count
For j = 5 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
merci beaucoup pour votre rapidité.
longue vie àcette excellent site et à tous ses excelliens.
 
Re : Tri Alphabétique onglets d'un classeur

Re le forum, ean-Pierre , Boisgontier, Banzai64,
humm, humm, juste un petit rajout à mon pb désolé .....
les feuilles à trier commence à la huitième feuille jusqu'à worksheet.count.
ce qui je croyais donnais :

Sub tri_ongletDirect()
Application.ScreenUpdating = False
For i = 8 To Sheets.Count
For J = 8 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

mais le tri ne s'opère plus correctement avec la modifications des variables i et j ?????
un ptit coup de main svp
merci d'avance.
 
Re : Tri Alphabétique onglets d'un classeur

Bonsoir Macpoy, jeanpierre, BOISGONTIER, Banzai64,

Sans doute une autre possibilité :
Code:
[COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit
Option Compare[/COLOR] Text

[COLOR=NAVY]Sub[/COLOR] TriOnglets()
[COLOR=GREEN]'myDearFriend! - www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Dim[/COLOR] F [COLOR=NAVY]As[/COLOR] Worksheet, F2 [COLOR=NAVY]As[/COLOR] Worksheet
    Application.ScreenUpdating = [COLOR=NAVY]False
    For Each[/COLOR] F [COLOR=NAVY]In[/COLOR] Worksheets
        [COLOR=NAVY]For Each[/COLOR] F2 [COLOR=NAVY]In[/COLOR] Worksheets
            [COLOR=NAVY]If[/COLOR] F2.Name < F.Name [COLOR=NAVY]Then[/COLOR] F2.Move Before:=F
        [COLOR=NAVY]Next[/COLOR] F2
    [COLOR=NAVY]Next[/COLOR] F
    Application.ScreenUpdating = [COLOR=NAVY]True
End Sub[/COLOR]
Cordialement,

EDITION : désolé, je n'avais pas vu ton dernier post!
 
Dernière édition:
Re : Tri Alphabétique onglets d'un classeur

Bonjour,

Code:
 début = 4    ' à partir du 4eme onglet
 For i = début 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

JB
 
Re : Tri Alphabétique onglets d'un classeur

bonjour le forum, merci beaucoup aux participants
je ne devais pas avoir les idées claires hier soir .....
cher boisgontier, tu m'a ouvert les yeux sur l'erreur de transcription qui empéchait cette simple macro de tourner correctement.
merci beaucoup à l'ensemble des participant de m'avoir fourni pile poil la formule dont j'avais besoin.
à charge de revanche (si je pouvais!!!! hi hi hi)
 
Re : Tri Alphabétique onglets d'un classeur

bonsoir le forum,
je reviens ce soir vers vous, car le classeur que je faisait pour une amie, fonctionne parfaitement. Chez moi !!!!!
mais chez elle la macro de boisgontier bloque sur UCase.
elle a comme moi excel 2003.
d'ou cela peut il venir docteur ????

merci d'avance pour explications.
 
Re : Tri Alphabétique onglets d'un classeur

Re le forum,

Est ce indispensable de placer UCase dans la macro suivante SVP ?

For i = début 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

merci beaucoup à ceux qui m'expliquerons la différence entre avec ou sans.
 
Re : Tri Alphabétique onglets d'un classeur

Bonsoir
Avis personnel:
Pour comparer il vaut mieux avoir les deux noms dans le même 'état'
parce qu'en informatique 'a' <> 'A'

Pour le problème chez ton amie il faut vérifier si il y a des protections, des feuilles cachées ... ect...
 
Re : Tri Alphabétique onglets d'un classeur

Re le forum, Banzai64
le UCase peut donc être traduit si je te suis bien, par : "au cas ou" pour "lisser" le problème des minuscules et des majuscules !!!

chez mon amie, c'est exactement le même classeur,

maintenant à part le fait que c'est excel 2003 comme moi, je ne pense pas que sont installation soie complète car en cherchant une explication sur un terme VBA en passant par F1 sont ordi m'a répondu que la bibliothèque d'aide n'était pas installée.....
affaire à suivre, ou à corriger.
mais je doute qu'un dictionnaire d'aide change le déroulement d'une macro !!!
j'ai testé chez moi la macro en question sans les UCase, elle fonctionne aussi bien !!! mais c'est sur mon ordi !à voir sur le sien ??????.
 
Re : Tri Alphabétique onglets d'un classeur

Re

C'est aussi mon avis que le fait que l'aide ne soit pas installée n'empêche pas l'exécution d'une macro
Chez ton amie essayes de faire un pas à pas avec la macro pour déterminer ce qui bloque
Si tu es sur que c'est Ucase qui gène vires le et testes ensuite
Moi je n'ai plus d'idée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

R
Réponses
2
Affichages
6 K
romuald
R
Retour