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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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" wrote:
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
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" <step...@prodiag.fr> wrote:
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.
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" wrote:
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
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" a écrit dans le message de news:
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" wrote:
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
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" <gmlsteph@gmail.com> a écrit dans le message de news:
c93b9a85-5c0c-457c-a59d-75d0bf859078@s4g2000yql.googlegroups.com...
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" <step...@prodiag.fr> wrote:
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.
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" a écrit dans le message de news:
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" wrote:
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
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 '------------------------------------
'------------------------------------
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
'------------------------------------
'------------------------------------ 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 '------------------------------------