charette63
XLDnaute Occasionnel
bonsoir à toutes et tous
dans un classeur excel composé d"une trentaine de feuilles, j'aimerais que le classement des onglets se fasse de façon alphabétique sauf quelques exceptions.
Toutes les feuilles sont nommées par le nom d'un agent, excepté une feuille qui s'appelle "recapitulatif" et (pour l'instant) six qui sont nommées "remplacement 1", "remplacement 2", etc..
Le nombre de feuilles "Remplacement X" est susceptible de changer puisque vouées à être nommées au nom d'un agent.
J'aimerais que les onglets soient triés par ordre alphabétique à l'exception de la feuille "recapitulatif" qui serait toujours en première position, et les feuilles "remplacement X" en dernière position.
j'ai imaginé pour ce faire trois macros, la première pour placer tous les onglets par ordre alphabetique (ça c'est fait)
la seconde, placer la feuille "recapitulatif" en première position (ça c'est fait également)
et enfin, la troisième ( c'est ici que ça se corse (superbe contrée)), qui consisterait à placer les "remplacement X" en fond de liste, et là je rame
il y à un code similaire à celui precedement cité qui permet de placer une feuille en derniere position
mais mon problème est qu'il y en aura plusieurs, et un nombre variable.
Pouvez-vous m'aider
merci
cordialement
Thierry
dans un classeur excel composé d"une trentaine de feuilles, j'aimerais que le classement des onglets se fasse de façon alphabétique sauf quelques exceptions.
Toutes les feuilles sont nommées par le nom d'un agent, excepté une feuille qui s'appelle "recapitulatif" et (pour l'instant) six qui sont nommées "remplacement 1", "remplacement 2", etc..
Le nombre de feuilles "Remplacement X" est susceptible de changer puisque vouées à être nommées au nom d'un agent.
J'aimerais que les onglets soient triés par ordre alphabétique à l'exception de la feuille "recapitulatif" qui serait toujours en première position, et les feuilles "remplacement X" en dernière position.
j'ai imaginé pour ce faire trois macros, la première pour placer tous les onglets par ordre alphabetique (ça c'est fait)
Code:
Sub TriNomsOnglets()
'classement onglets par ordre alphabetique
On Error Resume Next
Dim I As Integer, J As Integer
For I = 1 To Sheets.Count
For J = I 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
la seconde, placer la feuille "recapitulatif" en première position (ça c'est fait également)
Code:
Sub Macro6()
'
' Macro6 Macro
' Macro enregistrée le 28/11/2011 par thierry
Sheets("recapitulatif").Select
Sheets("recapitulatif").Move Before:=Sheets(1)
End Sub
et enfin, la troisième ( c'est ici que ça se corse (superbe contrée)), qui consisterait à placer les "remplacement X" en fond de liste, et là je rame
il y à un code similaire à celui precedement cité qui permet de placer une feuille en derniere position
Code:
Sub Macro7()
'
' Macro7 Macro
' Macro enregistrée le 28/11/2011 par thierry
'
Sheets("Remplacement 1").Select
Sheets("Remplacement 1").Move After:=Sheets(34)
End Sub
mais mon problème est qu'il y en aura plusieurs, et un nombre variable.
Pouvez-vous m'aider
merci
cordialement
Thierry