Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insérer feuille X+1

fileofish

XLDnaute Occasionnel
Bonjour à tous !

Pouvez vous svp me donner un petit coup de main
J'ai une feuille nommée P0
J'aurais souhaité faire une macro qui me crée : une nouvelle feuille P1, si je relance la macro P2, et ainsi de suite.

Encore merci d'avance
Philippe
 

pierrejean

XLDnaute Barbatruc
Re : Insérer feuille X+1

Bonjour fileofish

A tester:

Code:
Sub newfeuil()
Max = 0
For Each sh In Sheets
 If Left(sh.Name, 1) = "P" Then
   num = CInt(Replace(sh.Name, "P", ""))
   If num > Max Then Max = num
 End If
Next
Sheets.Add.Name = "P" & Max + 1
End Sub
 

fileofish

XLDnaute Occasionnel
Re : Insérer feuille X+1

Bonjour Pierre Jean
Je n'ai pas encore testé le code que tu m'as communiqué mais je te remercie déjà par avance
En tout cas un grand merci pour cette réponse plus que rapide
Bonne journée
Philippe
 

fileofish

XLDnaute Occasionnel
Re : Insérer feuille X+1

Pierre-Jean,
Le code tu m'as communiqué fonctionne très bien et me créé bien une feuille PX+1.
Serait-il possible que cette nouvelle feuille créée soit une copie de P0

Encore merci pour ton aide
Philippe
 

pierrejean

XLDnaute Barbatruc
Re : Insérer feuille X+1

Re

Code:
Sub newfeuil()
Max = 0
For Each sh In Sheets
 If Left(sh.Name, 1) = "P" Then
   num = CInt(Replace(sh.Name, "P", ""))
   If num > Max Then Max = num
 End If
Next
Sheets.Add.Name = "P" & Max + 1
Sheets("P0").Cells.Copy Destination:=ActiveSheet.Range("A1")
End Sub
 

fileofish

XLDnaute Occasionnel
Re : Insérer feuille X+1

Bonsoir le Forum, Pierre Jean,
Désolé de te solliciter de nouveau mais je souhaitais savoir si il était possible de placer cette nouvelle feuille créée (P3 par exemple) juste après la feuille P2. Car pour le moment la nouvelle feuille créee se met en 1ère position
Encore merci à tous pour le temps que vous nous consacrez à nous novices

Philippe
 

ninbihan

XLDnaute Impliqué
Re : Insérer feuille X+1

Bonsoir à tous,

En l'absence de PJ je me permets...

Code:
Sub newfeuil()
 Max = 0
 For Each sh In Sheets
  If Left(sh.Name, 1) = "P" Then
    num = CInt(Replace(sh.Name, "P", ""))
    If num > Max Then Max = num
  End If
 Next
 Sheets.Add after:=Sheets("P" & Max)
 ActiveSheet.Name = "P" & Max + 1
 Sheets("P0").Cells.Copy Destination:=ActiveSheet.Range("A1")
 End Sub

Ninbihan
 

Discussions similaires

Réponses
1
Affichages
228
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…