Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

  • Initiateur de la discussion Initiateur de la discussion jofdm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jofdm

XLDnaute Occasionnel
Bonjour à tous,

J'aimerais savoir si il est possible de réaliser l'opération suivante par macro.
Dans un classeur A (ouvert) : copier la feuille "test" et récupérer la valeur de la cellule H2
Dans un classeur B (fermé) : coller et renommer la feuille "test" par la valeur de la cellule H2

Merci d'avance pour votre aide
 

Pièces jointes

Re : Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

Bonjour Jof,

As-tu regardé les liens des fils similaires en bas de cette page?

Remarques:
1 - Le classeur B devra être ouvert au moment de la copie.
2 - Dans ta feuille Test du classeur A il y a un bouton qui lui aussi sera copier vers le classeur B

A+
 
Re : Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

Re Bonjour,

Petit cadeau pour mon 1001 ème message:

Code:
Sub CopierTestVersClasseurB()
    Dim wkB As Workbook
    Dim ctl As Object
    On Error Resume Next
    'Ouvrir le classeur B
    Set wkB = Workbooks.Open(ThisWorkbook.Path & "\Classeur b.xls")
    If Err > 0 Then
        MsgBox "Une erreur c'est produite lors de l'ouverture du classeur B", vbExclamation, "Copier la feuille vers classeur B"
        Exit Sub
    End If
    'Copier la feuille dans classeur B
    ThisWorkbook.Sheets("test").Copy before:=wkB.Sheets(1)
 
    'Changer le nom de la feuille créée
    ActiveSheet.Name = ThisWorkbook.Sheets("test").Range("H2")
 
    'Détruire les éventuels objets shapes  de la feuille
    For Each ctl In ActiveSheet.Shapes
        ctl.Delete
    Next
 
    wkB.Save 'Sauvegarde
    wkB.Close 'Fermeture
End Sub

A bientôt
 
Re : Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

Bonjour,
votre macro fonctionne le seul hic est que quand la feuille est protégé cela ne fonctionne pas malgré le code suivant que j'insère.

voici le code:ActiveSheet.Unprotect ("le code")

et pour le remettre à la fin:ActiveSheet.Protect ("le code")

merci de vos réponse
 
Re : Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

Bonjour à tous,

Bienvenue sur XLD

Les parenthèses n'ont pas lieu d'être :

ActiveSheet.Protect "Lecode"

PS : je réitère mes félicitations à mon Ges pour ses 1 000...

A+ à tous
 
Re : Copier une feuille d'un classeur A(ouvert) vers un classeur B(fermé) par macro

Bonjour viret.lionel@orian.ch, salut Jean-Claude 🙂

La protection de la feuille n'empêche nullement de la copier et de la renommer.

Par contre il ne faut pas que le classeur soit protégé :

Code:
ActiveWorkbook.Unprotect "le code" 'ou wkB.Unprotect "le code"
'----
ActiveWorkbook.Protect "le code" 'ou wkB.Protect "le code"
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour