classement onglets

Le
steph b
Bonjour j ai un fichier excel avec plusieurs onglets
parmi ces onglets certains commence par le nom XD_xxxx.
j'aimerais qu'une macro me creer une feuille nommé XD_yyy mais me l aplace
a la fin de celle qui sont nommées XD_xxxx

bien évidemment xxx et yyy sont des noms variables.

merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #23318861
Bonjour,

Pas évident d'interprèter ta question:

Cas1
on peut pas deviner quel "nom variable" va être choisi par la macro
sauf si tu l'as précisé d'avance dans le code
donc tu mets tes nouveaux noms variables dans une liste ou un array
selon l'ordre voulu et tu boucle dessus
en le mettant after:=sheets(sheets.count)
ca devrait le faire

Cas2 On veut juste trier les feuilles par ordre alpha

Sub TriNomsOnglets()
Dim i As Integer, j As Integer
For i = 1 To Sheets.Count
For j = 1 To i - 1
If UCase(Sheets(i).Name) < UCase(Sheets(j).Name) Then
Sheets(i).Move Before:=Sheets(j)
Exit For
End If
Next j
Next i
End Sub

'--
'LSteph

On 29 avr, 10:08, "steph b"
Bonjour j ai un fichier excel avec plusieurs onglets
parmi ces onglets certains commence par le nom XD_xxxx.
j'aimerais qu'une macro me creer une feuille nommé XD_yyy  mais me l aplace
a la fin de celle qui sont nommées XD_xxxx

bien évidemment xxx et yyy sont des noms variables.

merci
steph b
Le #23319531
j esssaie detre plus clair donc...

dans mon fichier j ai un emultitude feuille et j'aimerais connaitre le moyen
de connaitre le numero de la feuille ( la derniere qui porte le nom XD_ )


"LSteph"
Bonjour,

Pas évident d'interprèter ta question:

Cas1
on peut pas deviner quel "nom variable" va être choisi par la macro
sauf si tu l'as précisé d'avance dans le code
donc tu mets tes nouveaux noms variables dans une liste ou un array
selon l'ordre voulu et tu boucle dessus
en le mettant after:=sheets(sheets.count)
ca devrait le faire

Cas2 On veut juste trier les feuilles par ordre alpha

Sub TriNomsOnglets()
Dim i As Integer, j As Integer
For i = 1 To Sheets.Count
For j = 1 To i - 1
If UCase(Sheets(i).Name) < UCase(Sheets(j).Name) Then
Sheets(i).Move Before:=Sheets(j)
Exit For
End If
Next j
Next i
End Sub

'--
'LSteph

On 29 avr, 10:08, "steph b"
Bonjour j ai un fichier excel avec plusieurs onglets
parmi ces onglets certains commence par le nom XD_xxxx.
j'aimerais qu'une macro me creer une feuille nommé XD_yyy mais me l aplace
a la fin de celle qui sont nommées XD_xxxx

bien évidemment xxx et yyy sont des noms variables.

merci
MichD
Le #23319601
Bonjour,

Comme ceci :

'------------------------------------
Sub test()
Dim X As Integer, A As Integer, LastNameSheet As String
X = Sheets.Count
For A = X To 1 Step -1
If Left(UCase(Sheets(A).Name), 3) = "XD_" Then
LastNameSheet = Sheets(A).Name
Exit For
End If
Next
MsgBox LastNameSheet
End Sub
'------------------------------------


MichD
--------------------------------------------
Publicité
Poster une réponse
Anonyme