Copier-coller

Bonjour tout le monde,

Voilà, je veux copier une feuille et la coller dans le même classeur . Cependant, lorsque j’exécute la macro, j'ai plutôt un nouveau classeur qui s'ouvre avec la feuille que je veux copier et un message: Erreur d'execution '9': L'indice n'appartient pas à la sélection.

ci-dessous le code:

Option Explicit

Sub CopyColle()

Sheets("Exe").Copy

Sheets("Feuil1").Activate

ActiveSheet.Paste

Application.CutCopyMode = False

End Sub

Merci de votre aide.

Bonjour toutes et tous

le code ci-dessous est en vrac, on peut largement mieux faire pour te dépanner

- créer un bouton et coller cette macro, enregistrer en .xlsm (avec macro)

Option Explicit

Sub COPcol()
On Error GoTo plouf

Dim Sh As Worksheet, Ws As Worksheet
Set Ws = ActiveSheet
 Set Sh = Worksheets.Add(AFTER:=Sheets(Sheets.Count))
 Ws.Cells.Copy
 With Sh.Range("A1")
  .PasteSpecial xlPasteAll
  .Range("A1").Select
 End With
 For Each Sh In Sheets
 If InStr(Sh.Name, "insrequestline") <> 0 Then
   Sh.Name = "NouveauNom"
 End If
Next
plouf:
Exit Sub
 End Sub

crdlt,

André

Re,

ou plus simple

vu ici :https://forum.excel-pratique.com/viewtopic.php?t=27187

merci à Mytå

Sub CopySheetRename()
'Dim Cpt As Byte
On Error Resume Next
'For Cpt = 1 To 2
'Cpt = 1
  With ActiveWorkbook.ActiveSheet
    .Copy After:=Worksheets(Worksheets.Count)
  End With
ActiveSheet.Name = "Exe" '& Format(Cpt, "00")
'Next Cpt

End Sub

crdlt,

André

Merci beaucoup Andre13,

C'est bien ce que je veux. Seul petit bémol, une boite de dialogue demande de confirmer le nouveau nom.

Sinon, rien à dire

J'ai testé ce code et ça fonctionne très bien.

pour ceux qui seraient dans ma situation.

Sub CopyColl()

Application.DisplayAlerts = False

Sheets("Exe").Copy After:=Sheets("Feuil2")

Sheets("Exe (2)").name = "Nouveau_Nom"

Application.DisplayAlerts = True

End Sub

Merci

Rechercher des sujets similaires à "copier coller"