Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nom de feuille

6 réponses
Avatar
Denys
Bonjour,

Avec la macro suivante reli=E9e =E0 un bouton de commande sur la feuille
excel, je rajoute une page identique =E0 la suite de la feuille active.:

Sub AjoutFeuille()
ActiveSheet.Select
ActiveSheet.Copy After:=3DActiveSheet
End Sub

Cependant, j'aimerais qu'elle porte le nom et le num=E9ro suivant de la
page qu'elle vient de copier. Par exemple: par d=E9faut, j'ai la Page 1,
Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page
3...et bien, j'aimerais que la suivante se nomme Page 4, Page 5
etc....

Z'auriez une id=E9e ???

Merci pour votre temps

Denys

6 réponses

Avatar
FdeCourt
Salut,

Avec le bout de code ci-dessous :
Sub AjoutFeuille()
'Récupération du plus grand numéro
For Each sh In Worksheets
hgdf = sh.Name
monNom = Val(Right(sh.Name, Len(sh.Name) - InStr(sh.Name, "
")))
If monNom > x Then x = monNom
Next
'Copie de la feuille et renomage
monNom = ActiveSheet.Name
ActiveSheet.Copy After:¬tiveSheet
ActiveSheet.Name = "Page " & x + 1
End Sub

Cordialement,

F.
Avatar
LSteph
Bonjour,

En préalable nommer l'onglet de la première feuille du lot ainsi
Page0001
dans le code de la feuille attacher au bouton (vbcontrols) le code
suivant

Private Sub CommandButton1_Click()
call ajout
end sub


Dans un module standard le code suivant:

Sub ajout()
Dim mynum As Integer
Application.DisplayAlerts = False
With ActiveSheet
mynum = CInt(Right(.Name, 4))
.Copy after:=Sheets(.Name)
End With
Application.DisplayAlerts = True
ActiveSheet.Name = "Page" & Format(mynum + 1, "0000")
End Sub

'lSteph

On 25 jan, 14:06, Denys wrote:
Bonjour,

Avec la macro suivante reliée à un bouton de commande sur la feuille
excel, je rajoute une page identique à la suite de la feuille active.:

Sub AjoutFeuille()
    ActiveSheet.Select
    ActiveSheet.Copy After:¬tiveSheet
End Sub

Cependant, j'aimerais qu'elle porte le nom et le numéro suivant de la
page qu'elle vient de copier. Par exemple: par défaut, j'ai la Page 1,
Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page
3...et bien, j'aimerais que la suivante se nomme Page 4, Page 5
etc....

Z'auriez une idée ???

Merci pour votre temps

Denys


Avatar
isabelle
bonjour Denys,

nom = ActiveSheet.Previous.Name
ActiveSheet.Name = "Page " & CDbl(Right(nom, (Len(nom) - 5)) + 1)

isabelle

Le 2010-01-25 08:06, Denys a écrit :
Bonjour,

Avec la macro suivante reliée à un bouton de commande sur la feuille
excel, je rajoute une page identique à la suite de la feuille active.:

Sub AjoutFeuille()
ActiveSheet.Select
ActiveSheet.Copy After:¬tiveSheet
End Sub

Cependant, j'aimerais qu'elle porte le nom et le numéro suivant de la
page qu'elle vient de copier. Par exemple: par défaut, j'ai la Page 1,
Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page
3...et bien, j'aimerais que la suivante se nomme Page 4, Page 5
etc....

Z'auriez une idée ???

Merci pour votre temps

Denys



Avatar
michdenis
Bonjour,

Il y a aussi ceci :

Ceci suppose qu'il n'y a pas déjà une feuille portant
cet index.
La fonction Split() requiert Excel 2000 ou plus récent.

'-----------------------------------
Sub test()
Application.ScreenUpdating = False
With ActiveSheet
X = Split(.Name, " ")
.Copy after:=Sheets(.Index)
With ActiveSheet
.Name = X(0) & " " & X(1) + 1
End With
.Activate
End With
Application.ScreenUpdating = True
End Sub
'-----------------------------------

"Denys" a écrit dans le message de groupe de discussion :

Bonjour,

Avec la macro suivante reliée à un bouton de commande sur la feuille
excel, je rajoute une page identique à la suite de la feuille active.:

Sub AjoutFeuille()
ActiveSheet.Select
ActiveSheet.Copy After:¬tiveSheet
End Sub

Cependant, j'aimerais qu'elle porte le nom et le numéro suivant de la
page qu'elle vient de copier. Par exemple: par défaut, j'ai la Page 1,
Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page
3...et bien, j'aimerais que la suivante se nomme Page 4, Page 5
etc....

Z'auriez une idée ???

Merci pour votre temps

Denys
Avatar
LSteph
A noter que

> Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page


Non! si tu copie la feuille le bouton est recopié sur la feuille
suivante.

Ceci fait selon ta demande t'obligera à vérifier que tu es sur la
dernière créée
car si tu reviens sur la feuille d'avant en fait c'est le principe
même de vouloir recreer sur activesheetqui n'est n'est pas fâmeux
car si Page0002 par exemple existe peut etre déjà ...etc..tu auras une
erreur.

Une alternative consisterait à utiliser le doubleclic ou un bouton de
la barre d'outil et
de copier depuis sheets(sheets.count) mais là encore
l'ordre des feuilles pourra avoir été modifié.

Si ton classeur ne contient que des "Page000n"
une autre idée serait de boucler toutes les feuilles à chaque fois
qu'on en insère une et les renumeroter .

'lSteph



On 25 jan, 14:39, LSteph wrote:
Bonjour,

En préalable nommer l'onglet de la  première feuille du lot ainsi
Page0001
dans le code de la feuille attacher au bouton (vbcontrols) le code
suivant

Private Sub CommandButton1_Click()
call ajout
end sub

Dans un module standard le code suivant:

Sub ajout()
Dim mynum As Integer
Application.DisplayAlerts = False
With ActiveSheet
mynum = CInt(Right(.Name, 4))
.Copy after:=Sheets(.Name)
End With
Application.DisplayAlerts = True
ActiveSheet.Name = "Page" & Format(mynum + 1, "0000")
End Sub

'lSteph

On 25 jan, 14:06, Denys wrote:



> Bonjour,

> Avec la macro suivante reliée à un bouton de commande sur la feuill e
> excel, je rajoute une page identique à la suite de la feuille active. :

> Sub AjoutFeuille()
>     ActiveSheet.Select
>     ActiveSheet.Copy After:¬tiveSheet
> End Sub

> Cependant, j'aimerais qu'elle porte le nom et le numéro suivant de la
> page qu'elle vient de copier. Par exemple: par défaut, j'ai la Page 1 ,
> Page 2 et Page 3. Le bouton de commande ne se trouve que sur la Page
> 3...et bien, j'aimerais que la suivante se nomme Page 4, Page 5
> etc....

> Z'auriez une idée ???

> Merci pour votre temps

> Denys- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Denys
Wow !!!!!

Merci tout le monde.....vous êtes vraiment gentils !!!

Bonne journée

Denys