Nom de feuille

Le
Denys
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:=ActiveSheet
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
3et bien, j'aimerais que la suivante se nomme Page 4, Page 5
etc.

Z'auriez une idée ???

Merci pour votre temps

Denys
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
FdeCourt
Le #21045471
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.
LSteph
Le #21045461
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
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


isabelle
Le #21045681
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



michdenis
Le #21045671
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"
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
LSteph
Le #21045661
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
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


> 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 -


Denys
Le #21045791
Wow !!!!!

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

Bonne journée

Denys
Publicité
Poster une réponse
Anonyme