Dupliquer feuille

mcp229

XLDnaute Junior
Bonsoir, Je sèche sur une méthode en VBA pour dupliquer une feuille de mon doc excel.
Ce document est en fait un devis, mais je voudrais pouvoir dupliquer une des feuilles de ce doc.
Dans cette feuille a dupliquer il y a des boutons pour activer des macros.
Le nom de la feuille à dupliquer est aléatoire.

Ayant chercher et n'ayant pas le début d'une idée je fais appelle à vos lumières.



Bien à vous.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Dupliquer feuille

Bonjour mcp,

avec ce code:
Code:
Sub DupliquerFeuille()
Application.ScreenUpdating = False
feuille = ActiveSheet.Index
Sheets.Add After:=Sheets(feuille)
Sheets(feuille).Cells.Copy
Sheets(feuille + 1).Select
texte = "Feuille copiée à " & Format(Time, "hh.mm.ss")
ActiveSheet.Name = texte
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


à+
Philippe
 

DoubleZero

XLDnaute Barbatruc
Re : Dupliquer feuille

Bonjour, mcp229, Philippe :), le Forum,

Ou, peut-être, avec celui-ci :

VB:
Option Explicit
Sub Onglet_actif_dupliquer_nommer()
    Dim nom As String, mem As Worksheet
    Set mem = ActiveSheet
    nom = InputBox("Nommer l'onglet...")
    ActiveSheet.Copy after:=Sheets(1)
    On Error GoTo fin
    ActiveSheet.Name = nom
    With ActiveSheet: .Tab.Color = 6684927: End With
    Exit Sub
fin:
    Application.DisplayAlerts = False
    ActiveSheet.Delete
    MsgBox "Veuillez saisir un autre nom !"
    Application.DisplayAlerts = True
    mem.Activate
End Sub

A bientôt :)
 

mcp229

XLDnaute Junior
Re : Dupliquer feuille

Merci pour cette macro, je voudrait toutefois la modifier un peu.
j'ai un onglet masqué, et c'est lui que je voudrais dupliquer (et bien sur qu'il reste masqué).

auriez vous une solution pour cette modification?

Option Explicit
Sub Onglet_actif_dupliquer_nommer()
Dim nom As String, mem As Worksheet
Set mem = ActiveSheet
nom = InputBox("Nommer l'onglet...")
ActiveSheet.Copy after:=Sheets(1)
On Error GoTo fin
ActiveSheet.Name = nom
With ActiveSheet: .Tab.Color = 6684927: End With
Exit Sub
fin:
Application.DisplayAlerts = False
ActiveSheet.Delete
MsgBox "Veuillez saisir un autre nom !"
Application.DisplayAlerts = True
mem.Activate
End Sub
 

Si...

XLDnaute Barbatruc
Re : Dupliquer feuille

salut

à tester :
Code:
Sub Dupliquer()
    Dim Nom As String, W As Worksheet
1   Nom = InputBox("Dupliquer l'onglet Original")
    If Nom = "" Then Exit Sub
    For Each W In Sheets
      If W.Name = Nom Then
        MsgBox "changer d'intitulé !", 16, "Nom déjà utilisé..."
        GoTo 1
      End If
    Next
    With Feuil4 'caché et dont le nom est Original
      .Visible = 1
      .Copy after:=Sheets(1)
      .Visible = 2
      ActiveSheet.Name = Nom
      ActiveSheet.Visible = 1
    End With
End Sub

@00 :D, truc personnel : je préfère faire plutôt que défaire;)
 

Discussions similaires

Statistiques des forums

Discussions
312 781
Messages
2 092 051
Membres
105 171
dernier inscrit
Laurent E