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

Duplication de feuilles

4 réponses
Avatar
Philippe
Bonjour,
J' ai un classeur comportant plusieurs feuilles
je souhaite en VBA ou macro dupliquer à la demande dans sa totalité la
dernière feuille soit la feuille ADH0125 et obtenir une nouvelle feuille
ADH0126
si nécessaire
par la suite dupliquer la feuille ADH0126 qui est la dernière créee et
obtenir la feuille ADH0127

Merci de votre aide et vos idées
Phil

4 réponses

Avatar
Jacky
Bonsoir,

Ceci peut-être
'----------
Sub jj()
Dim x As String
x = ActiveSheet.Name
ActiveSheet.Copy After:¬tiveSheet
ActiveSheet.Name = Left(x, 3) & Format(Right(x, 4) + 1, "0000")
End Sub
'---------

--
Salutations
JJ


"Philippe" a écrit dans le message de news:
4628e432$0$7533$
Bonjour,
J' ai un classeur comportant plusieurs feuilles
je souhaite en VBA ou macro dupliquer à la demande dans sa totalité la
dernière feuille soit la feuille ADH0125 et obtenir une nouvelle feuille
ADH0126
si nécessaire
par la suite dupliquer la feuille ADH0126 qui est la dernière créee et
obtenir la feuille ADH0127

Merci de votre aide et vos idées
Phil



Avatar
LSteph
Bonjour,

Si cela reste dans l'ordre

Sub ajout()
With Sheets(Sheets.Count)
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Left(.Name, 3) _
& Format(CStr(CInt(Right(.Name, 4)) + 1), "0000")
End With
End Sub

'Cordialement.

'lSteph

Bonjour,
J' ai un classeur comportant plusieurs feuilles
je souhaite en VBA ou macro dupliquer à la demande dans sa totalité la
dernière feuille soit la feuille ADH0125 et obtenir une nouvelle feuille
ADH0126
si nécessaire
par la suite dupliquer la feuille ADH0126 qui est la dernière créee et
obtenir la feuille ADH0127

Merci de votre aide et vos idées
Phil




Avatar
Jacky
Re...
Avec une protection au cas ou la feuille existe déjà
'--------------
Sub jj()
Dim x As String
x = ActiveSheet.Name
ActiveSheet.Copy After:¬tiveSheet
On Error GoTo Err
ActiveSheet.Name = Left(x, 3) & Format(Right(x, 4) + 1, "0000")
Exit Sub
Err:
MsgBox "La feuille '" & Left(x, 3) & Format(Right(x, 4) + 1, "0000") & "'
existe déjà"
Application.DisplayAlerts = False
ActiveSheet.Delete
End Sub
'----------

--
Salutations
JJ


"Jacky" a écrit dans le message de news:

Bonsoir,

Ceci peut-être
'----------
Sub jj()
Dim x As String
x = ActiveSheet.Name
ActiveSheet.Copy After:¬tiveSheet
ActiveSheet.Name = Left(x, 3) & Format(Right(x, 4) + 1, "0000")
End Sub
'---------

--
Salutations
JJ


"Philippe" a écrit dans le message de news:
4628e432$0$7533$
Bonjour,
J' ai un classeur comportant plusieurs feuilles
je souhaite en VBA ou macro dupliquer à la demande dans sa totalité la
dernière feuille soit la feuille ADH0125 et obtenir une nouvelle feuille
ADH0126
si nécessaire
par la suite dupliquer la feuille ADH0126 qui est la dernière créee et
obtenir la feuille ADH0127

Merci de votre aide et vos idées
Phil







Avatar
Philippe
Merci de vos réponses je vais tester dans la soirée
Bon we
Phil
"LSteph" a écrit dans le message de news:

Bonjour,

Si cela reste dans l'ordre

Sub ajout()
With Sheets(Sheets.Count)
.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Left(.Name, 3) _
& Format(CStr(CInt(Right(.Name, 4)) + 1), "0000")
End With
End Sub

'Cordialement.

'lSteph

Bonjour,
J' ai un classeur comportant plusieurs feuilles
je souhaite en VBA ou macro dupliquer à la demande dans sa totalité la
dernière feuille soit la feuille ADH0125 et obtenir une nouvelle feuille
ADH0126
si nécessaire
par la suite dupliquer la feuille ADH0126 qui est la dernière créee et
obtenir la feuille ADH0127

Merci de votre aide et vos idées
Phil