Copier coller dans nouvel onglet

Bonjour,

J'essaie de copier le contenue d'une plage de cellule et de coller cette plage de cellules dans un nouvel onglet

voici le code sur lequel je suis et qui bloque :

Sub Recup()

Dim Fe As Worksheet

Dim Plage As Range

With Worksheets("1 du mois")

'définie la plage à recopier dans l'onglet de base

Set Plage = .Range(.Cells(2, 1), .Cells(80, 40))

End With

Sheets.Add Before:=Sheets("mensuel") 'créer un nouvel onglet qui sera placera juste avant l'onglet "mensuel"

ActiveSheet.Name = "nouvelle feuille"

With Worksheets("nouvelle feuille")

'coller le contenu copié dans la nouvelle feuille créé à partir de la cellule A1

Plage.Paste Worksheets("nouvelle feuille").Range("A1")

End With

End Sub

Merci

Bonsoir

Remplaces cette ligne

    Plage.Paste Worksheets("nouvelle feuille").Range("A1")

Par celle-ci

    Plage.Copy .Range("A1")

Merci Banzai64,

ça marche!

autre question : lorsque je créais un nouvel onglet je prédéfinit le nom de cet onglet comme cela

Sheets.Add Before:=Sheets("mensuel") 'créer un nouvel onglet qui sera placera juste avant l'onglet "mensuel"

ActiveSheet.Name = "nouvelle feuille"

J'aimerai que le nom de mes onglets créés soit les numéros des jours dans un mois (entre 1 et 28,30,31 si c'est la fin du mois)

c'est pourquoi je cherche un code qui me permettra de nommer le nouvel onglet en lui donnant le nom suivant : nom de l'onglet sur lequel on se trouve (le numéro du jours en question ) + 1 (pour représenter le jour suivant.

merci!!

Bonsoir

A 1ère vue

Dim NomFeuille As String

  NomFeuille = CStr(Val(ActiveSheet.Name) + 1)
  Sheets.Add Before:=Sheets("mensuel") 'créer un nouvel onglet qui sera placera juste avant l'onglet "mensuel"
  ActiveSheet.Name = NomFeuille

Mais sans le fichier ......

Bonsoir,

avec la modification proposé j'obtiens le code suivant

Sub Recup()

    Dim Fe As Worksheet
    Dim Plage As Range
    Dim NomFeuille As String

 ActiveSheet.Name = NomFeuille

    With Worksheets("1 du mois")

        'définie la plage à recopier dans l'onglet de base
        Set Plage = .Range(.Cells(1, 1), .Cells(80, 40))
    End With

    NomFeuille = CStr(Val(ActiveSheet.Name) + 1)
    Sheets.Add Before:=Sheets("mensuel")    'créer un nouvel onglet qui sera placera juste avant l'onglet "mensuel"
    ActiveSheet.Name = "NomFeuille"

    With Worksheets("NomFeuille")

        'coller le contenu copié dans la nouvelle feuille créé à partir de la cellule A1

        Plage.Copy .Range("A1")

    End With

End Sub

mais il y a un petit problème car ca bloque

je vous joint le fichier en question

merci encore pour votre aide !

Bonsoir

Il faut fournir un fichier conforme

Worksheets("1 du mois")

inconnue au bataillon ????

Sinon la variable NomFeuille ne doit pas être entre guillemets

Sub Recup()
Dim Fe As Worksheet
Dim Plage As Range
Dim NomFeuille As String

  'ActiveSheet.Name = NomFeuille                ' Inutile et pourquoi ? 

  With Worksheets("1 du mois")
    'définie la plage à recopier dans l'onglet de base
    Set Plage = .Range(.Cells(1, 1), .Cells(80, 40))
  End With

  NomFeuille = CStr(Val(ActiveSheet.Name) + 1)
  Sheets.Add Before:=Sheets("mensuel")    'créer un nouvel onglet qui sera placera juste avant l'onglet "mensuel"
  ActiveSheet.Name = NomFeuille

  With Worksheets(NomFeuille)
    'coller le contenu copié dans la nouvelle feuille créé à partir de la cellule A1
    Plage.Copy .Range("A1")
  End With
End Sub

pardons pardon,

c'était censé être "1" , "2" ....

Bonsoir

Problème réglé ?

Excellent!

merci

Rechercher des sujets similaires à "copier coller nouvel onglet"