1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Public Sub test()
' Les variables sont à définir en début de Sub
Dim Ws As Worksheet, WsList As Worksheet
Dim LigT As Long ' Ligne ou se situe le nom de la feuille
'
Set WsList = Sheets("liste")
' Pour chaque feuille
For Each Ws In Worksheets
' Si la feuille est visible
If Ws.Visible = xlSheetVisible And Ws.Name <> "liste" Then
' En cas d'erreur on continue
On Error Resume Next
LigT = 0 ' Initialiser à 0 le numéro de ligne trouvée
' Trouver le numéro de la ligne ou se trouve le nom de la feuille
LigT = WsList.Range("A:A").Find(What:=Ws.Name, LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Row
' Si le numéro de ligne est trouvée
If LigT <> 0 Then
Ws.Move Before:=Sheets(LigT - 1)
End If
On Error GoTo 0
End If
Next Ws
' Effacer les variables objet
Set Ws = Nothing
Set WsList = Nothing
End Sub |
Partager