dans un classeur il y a plusieurs feuilles nomm=E9es SEM 1,=20
SEM 2, SEM 3... et une nomm=E9e semaine courante. Dans cette=20
derni=E8re il y a un bouton qui devrait normalement=20
permettre de cr=E9er une nouvelle feuille appel=E9e "SEM + (le=20
plus grand nombre +1)".
J'arrive bien =E0 cr=E9er une nouvelle feuille, mais comment=20
faire pour r=E9cup=E9rer le nom de la feuille qui a le plus=20
grand nombre.
Merci pour votre aide
Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout()
Dim cpt As Integer
cpt =3D 1
Do While cpt < 2 ' Ajoute 1 feuille
' Ajout d'une feuille
Application.Sheets.Add After:=3DSheets.Item(Sheets.Count),=20
Type:=3DxlWorksheet
' Renomme la feuille
Application.ActiveSheet.Name =3D "SEM " & CStr(cpt)
cpt =3D cpt + 1
Loop
End Sub
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
isabelle
bonjour Goutedo,
voici un exemple,
Sub Macro1() Dim v() For Each f In Sheets x = f.Name ReDim Preserve v(f.Index) On Error Resume Next v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x))) Next Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Sem " & Application.Max(v()) + 1 End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1, SEM 2, SEM 3... et une nommée semaine courante. Dans cette dernière il y a un bouton qui devrait normalement permettre de créer une nouvelle feuille appelée "SEM + (le plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment faire pour récupérer le nom de la feuille qui a le plus grand nombre.
Merci pour votre aide Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout() Dim cpt As Integer cpt = 1 Do While cpt < 2 ' Ajoute 1 feuille ' Ajout d'une feuille Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomme la feuille Application.ActiveSheet.Name = "SEM " & CStr(cpt) cpt = cpt + 1 Loop End Sub
bonjour Goutedo,
voici un exemple,
Sub Macro1()
Dim v()
For Each f In Sheets
x = f.Name
ReDim Preserve v(f.Index)
On Error Resume Next
v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x)))
Next
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Sem " & Application.Max(v()) + 1
End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1,
SEM 2, SEM 3... et une nommée semaine courante. Dans cette
dernière il y a un bouton qui devrait normalement
permettre de créer une nouvelle feuille appelée "SEM + (le
plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment
faire pour récupérer le nom de la feuille qui a le plus
grand nombre.
Merci pour votre aide
Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout()
Dim cpt As Integer
cpt = 1
Do While cpt < 2 ' Ajoute 1 feuille
' Ajout d'une feuille
Application.Sheets.Add After:=Sheets.Item(Sheets.Count),
Type:=xlWorksheet
' Renomme la feuille
Application.ActiveSheet.Name = "SEM " & CStr(cpt)
cpt = cpt + 1
Loop
End Sub
Sub Macro1() Dim v() For Each f In Sheets x = f.Name ReDim Preserve v(f.Index) On Error Resume Next v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x))) Next Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Sem " & Application.Max(v()) + 1 End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1, SEM 2, SEM 3... et une nommée semaine courante. Dans cette dernière il y a un bouton qui devrait normalement permettre de créer une nouvelle feuille appelée "SEM + (le plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment faire pour récupérer le nom de la feuille qui a le plus grand nombre.
Merci pour votre aide Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout() Dim cpt As Integer cpt = 1 Do While cpt < 2 ' Ajoute 1 feuille ' Ajout d'une feuille Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomme la feuille Application.ActiveSheet.Name = "SEM " & CStr(cpt) cpt = cpt + 1 Loop End Sub
isabelle
re bonjour Goutedo,
j'oubliais, j'ai pris en compte qu'il y avait toujours un espace dans les nom des onglets. c'est en trouvant cette espace que j'ai séparé le chiffre du texte. si le texte est toujours les même 4 lettres "Sem " on pourrait simplifier la formule, v(f.Index) = Val(Right(x, Len(x) - 4))
isabelle
bonjour Goutedo,
voici un exemple,
Sub Macro1() Dim v() For Each f In Sheets x = f.Name ReDim Preserve v(f.Index) On Error Resume Next v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x))) Next Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Sem " & Application.Max(v()) + 1 End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1, SEM 2, SEM 3... et une nommée semaine courante. Dans cette dernière il y a un bouton qui devrait normalement permettre de créer une nouvelle feuille appelée "SEM + (le plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment faire pour récupérer le nom de la feuille qui a le plus grand nombre.
Merci pour votre aide Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout() Dim cpt As Integer cpt = 1 Do While cpt < 2 ' Ajoute 1 feuille ' Ajout d'une feuille Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomme la feuille Application.ActiveSheet.Name = "SEM " & CStr(cpt) cpt = cpt + 1 Loop End Sub
re bonjour Goutedo,
j'oubliais, j'ai pris en compte qu'il y avait toujours un espace dans
les nom des onglets. c'est en trouvant cette espace que j'ai séparé le
chiffre du texte.
si le texte est toujours les même 4 lettres "Sem " on pourrait
simplifier la formule,
v(f.Index) = Val(Right(x, Len(x) - 4))
isabelle
bonjour Goutedo,
voici un exemple,
Sub Macro1()
Dim v()
For Each f In Sheets
x = f.Name
ReDim Preserve v(f.Index)
On Error Resume Next
v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x)))
Next
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "Sem " & Application.Max(v()) + 1
End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1,
SEM 2, SEM 3... et une nommée semaine courante. Dans cette
dernière il y a un bouton qui devrait normalement
permettre de créer une nouvelle feuille appelée "SEM + (le
plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment
faire pour récupérer le nom de la feuille qui a le plus
grand nombre.
Merci pour votre aide
Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout()
Dim cpt As Integer
cpt = 1
Do While cpt < 2 ' Ajoute 1 feuille
' Ajout d'une feuille
Application.Sheets.Add After:=Sheets.Item(Sheets.Count),
Type:=xlWorksheet
' Renomme la feuille
Application.ActiveSheet.Name = "SEM " & CStr(cpt)
cpt = cpt + 1
Loop
End Sub
j'oubliais, j'ai pris en compte qu'il y avait toujours un espace dans les nom des onglets. c'est en trouvant cette espace que j'ai séparé le chiffre du texte. si le texte est toujours les même 4 lettres "Sem " on pourrait simplifier la formule, v(f.Index) = Val(Right(x, Len(x) - 4))
isabelle
bonjour Goutedo,
voici un exemple,
Sub Macro1() Dim v() For Each f In Sheets x = f.Name ReDim Preserve v(f.Index) On Error Resume Next v(f.Index) = Val(Right(x, Len(x) - Application.Find(" ", x))) Next Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Name = "Sem " & Application.Max(v()) + 1 End Sub
isabelle
bonjour à tous,
je suis un peu perdu, qqn saura-t-il m'aider?
voici mon souci,
dans un classeur il y a plusieurs feuilles nommées SEM 1, SEM 2, SEM 3... et une nommée semaine courante. Dans cette dernière il y a un bouton qui devrait normalement permettre de créer une nouvelle feuille appelée "SEM + (le plus grand nombre +1)".
J'arrive bien à créer une nouvelle feuille, mais comment faire pour récupérer le nom de la feuille qui a le plus grand nombre.
Merci pour votre aide Goutedo
PS: Voici mon bout de code pour ceux qui voudrait m'aider:
Sub Ajout() Dim cpt As Integer cpt = 1 Do While cpt < 2 ' Ajoute 1 feuille ' Ajout d'une feuille Application.Sheets.Add After:=Sheets.Item(Sheets.Count), Type:=xlWorksheet ' Renomme la feuille Application.ActiveSheet.Name = "SEM " & CStr(cpt) cpt = cpt + 1 Loop End Sub
Goutedo
Je me rappelerais de cette solution au cas où. Mais la réponse dans l'autre post me convient mieux par sa légereté.
Dans tous les cas, Mille merci pour votre aide.
Goutedo
Je me rappelerais de cette solution au cas où. Mais la
réponse dans l'autre post me convient mieux par sa
légereté.