Ordre alphabétique d'une feuille selon une cellule ?
Bonjour le forum,
vous allez bien ?
Bien moi j'ai une petite question :
Est-il possible de trier par ordre alphabétique des feuilles selon ce qui est marqué dans la cellule C6 sans toutefois renommer la feuille comme cette cellule ???
Admettons que j'ai 40 feuilles : feuil001, feuil002, feuil003, feuil004, etc...
...et dans la feuil002 dans ma cellule C6 j'ai un nom de personne qui commence par B et dans ma feuil001 dans ma cellule C6 le nom d'une autre personne commence par Z...
Est-ce qu'il y a une formule qui va trier les feuilles par ordre alphabétique selon la case C6 ? Alors dans l'exemple que j'ai donné tantôt la feuil002 viendrait en avant de la feuil001 ???
Pouvez-vous m'aider s.vp.
Merci beaucoup d'avance
Cordialement
bigjuju21
Re le forum
Essaye ce code
Sub TriNomsOnglets()
Dim I As Integer, J As Integer
For I = 1 To Sheets.Count
For J = I To Sheets.Count
If UCase(Sheets(J).Range("C6")) < UCase(Sheets(I).Range("C6")) Then
Sheets(J).Move Sheets(I)
End If
Next J
Next I
End SubMytå
Salut,
oui je sais j'aurais dû rester dans la même ficelle sauf que j'avais déjà marqué résolu en croyant que je n'aurais pas d'autres questions, désolé...
Merci en passant pour ta formule, ça marche très bien ! merci beaucoup ! C'est merveilleux je n'en reviens pas !!!
Une dernière question : est-ce qu'on peut mettre 2 macros dans un même module ?
Exemple : Mettre une formule pour trier les onglets et en dessous mettre une formule pour renommer les onglets dans un même module ?
Sub TriNomsOnglets()
Dim I As Integer, J As Integer
For I = 1 To Sheets.Count
For J = I To Sheets.Count
If UCase(Sheets(J).Range("C6")) < UCase(Sheets(I).Range("C6")) Then
Sheets(J).Move Sheets(I)
End If
Next J
Next I
End Sub
Sub renommer()
'MAcro Dan
Dim I As Byte
For I = 1 To Sheets.Count
Sheets(I).Name = "Feuil" & Format(I, "000")
Next
End Sub
Merci de ta réponse en avance !!!
Cordialement
bigjuju21
Re le forum
Oui tu peux mettre les macros dans le même module
Sub TriNomsOnglets()
Dim I As Integer, J As Integer
For I = 1 To Sheets.Count
For J = I To Sheets.Count
If UCase(Sheets(J).Range("C6")) < UCase(Sheets(I).Range("C6")) Then
Sheets(J).Move Sheets(I)
End If
Next J
Next I
End Sub
Sub Renommer()
Dim I As Byte
For I = 1 To Sheets.Count
Sheets(I).Name = "Feuil" & Format(I, "000")
Next I
End Sub Mais tu vas devoir les lancer une et ensuite l'autre
Mytå
P.S. La balise CODE est fait pour mettre le texte d'une macro
Merci beaucoup pour tout !!!
Tout fonctionne à merveille !
Merci encore !
À la prochaine !
bigjuju21