copier une feuille dans un autre classeur? [ RESOLU]

DEDOuze

XLDnaute Nouveau
bonsoir à tous,
après moult recherches je n'ai pas trouvé la solution, donc j'implore votre aide
jutilise une macro pour copier une feuille dans un autre classeur en lui donnant comme nom une date située en d2.
ça marche nikel sauf que quand ce nom existe déjà, j'ai bien entendu un message d'erreur, jaimerais que si la feuille existe déjà, elle soit supprimée et remplacée.
Voici mon code :

Code:
Sub copiematrice()

    Workbooks.Open Filename:="C:\ObjectifJournal\janvier.xls"
    Windows("journal1.xls").Activate
    Sheets("MATRICE").Select
    DateJour = Range("d2").Value
' Extraction de JJ-MM-AAAA Le nom de feuille n'accepte pas les /
JourDate = Left(DateJour, 2) & " " & Mid(DateJour, 4, 2) & " " & Mid(DateJour, 7, 4)

    Sheets("MATRICE").Copy After:=Workbooks("janvier.xls").Sheets(1)
' Attribution du nom de la nouvelle feuille
ActiveSheet.Name = JourDate 
    
End Sub

un grand merci à ceux qui prendront la peine de m'aider.

DEDOu
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : copier une feuille dans un autre classeur? problème de doublon ...

Bonjour DEDOuze, Jean-Marcel, le forum,

Perso j'écrirai à la fin de la macro :

Code:
' Attribution du nom de la nouvelle feuille
On Error Resume Next
Application.DisplayAlerts = False
Sheets(JourDate).Delete
ActiveSheet.Name = JourDate

A+
 

job75

XLDnaute Barbatruc
Re : copier une feuille dans un autre classeur? problème de doublon ...

Re Jean-Marcel,

OK, mais si l'on ne veut pas remplacer la feuille existante, mieux vaut ne pas créer une nouvelle feuille :

Code:
On Error Resume Next
If IsError(Sheets(JourDate).Name) Then
  Sheets("MATRICE").Copy After:=Workbooks("janvier.xls").Sheets(1)
  ActiveSheet.Name = JourDate
Else
  MsgBox "Le feuille '" & JourDate & "' existe déja "
End If

A+
 

DEDOuze

XLDnaute Nouveau
Re : copier une feuille dans un autre classeur? problème RESOLU

ok, ça marche :cool:
génial, merci à vous deux
voilà ce que ça donne, jai testé 4,5 fois

Code:
Sub copiematrice()

    Workbooks.Open Filename:="C:\ObjectifJournal\janvier.xls"
    Windows("journal1.xls").Activate
    Sheets("MATRICE").Select
    DateJour = Range("d2").Value
' Extraction de JJ-MM-AAAA Le nom de feuille n'accepte pas les /
JourDate = Left(DateJour, 2) & " " & Mid(DateJour, 4, 2) & " " & Mid(DateJour, 7, 4)

    Sheets("MATRICE").Copy After:=Workbooks("janvier.xls").Sheets(1)
    On Error Resume Next
Application.DisplayAlerts = False
Sheets(JourDate).Delete
ActiveSheet.Name = JourDate
    
End Sub

zêtes des chefs !
bon dimanche
 

Discussions similaires

Statistiques des forums

Discussions
312 308
Messages
2 087 105
Membres
103 469
dernier inscrit
Thibz