Deplacé un onglet dans un autre classeur

Bonjour à tous ,

je recherche la possibilité de deplacé dans un classeur "archive1" certains onglets du classeur "test" . Les onglets auront une date comme nom et donc changerons à chaque fois , j'ai récupéré sur le site une macro qui correspond seulemet à un détaille pret, il faut que l'onglet est tout le temps le même nom ( malheuresement ce n'est pas le but ). si qu'elqu'un peut m'aider merci d'avance .

ci-joint le code vba et je joint les classeurs

Sub CommandButton1_Click()

Dim sh As Worksheet, sh2 As Worksheet

Dim NomFeuilleDestination As String

Set sh = Sheets("BREAKSHEET") 'Feuille à copier

NomFeuilleDestination = "BREAKSHEET"

'Ouvrir le classeur destination

Workbooks.Open Filename:=ThisWorkbook.Path & "\archive1.xlsm"

' Empêcher les avertissements excel

Application.DisplayAlerts = False

' Eviter le message d'erreur si la feuille destination n'existe pas

On Error Resume Next

' Tester si la feuille Destination existe

Set sh2 = ActiveWorkbook.Sheets(NomFeuilleDestination)

' Si elle existe on l'a supprime

If Not sh2 Is Nothing Then sh2.Delete

'Rétablir la gestion normale des erreurs

On Error GoTo 0

' Rétablir les avertissements

Application.DisplayAlerts = True

'Coller la feuille Origine dans le classeur destination

sh.Copy After:=Workbooks("archive1.xlsm").Sheets(Sheets.Count)

With ActiveSheet

.UsedRange.Copy

.UsedRange.Range("A1").PasteSpecial xlPasteValues

.Name = NomFeuilleDestination

.Protect Password:="mdp", DrawingObjects:=False, Contents:=True, Scenarios:=False

.Range("D9").Select

End With

Application.CutCopyMode = False

ActiveWorkbook.Save

End Sub

6test.xlsm (39.77 Ko)
7archive1.xlsm (61.67 Ko)

Bonjour,

Faché avec les balises... dommage !

Et on la devine comment dans ce processus quel est l'onglet à copier ???

Une boule de cristal

A+

salut , malgré mes 50 visites comme tu dit , je ne suis toujours pas un expert ( les balises je ne connais pas ) honte à moi je suppose .

j'ai peut pêtre pensé naivement qu'il etait possible de remplaçer le nom de l'onglet par "active sheet " ou un truc comme ça .

Bonjour Auberoui,

les balises de code, c'est pas dans ton code VBA mais dans la fenêtre d'édition du post :

1) mets ton curseur de texte là où tu veux mettre ton code VBA

2) clique sur le bouton (voir l'image ci-dessous)

3) mets ton code VBA entre ce qui a été ajouté

  ' mettre le code VBA ici
screen

note qu'un nom de balise est toujours entre crochets ; autre exemple si tu cliques sur le :

* ça met b et /b entre crochets ; le 1er signifie « début de mise en gras » (bold en anglais)

* les caractères qui suivent la balise de début seront en gras (clique sur le bouton Aperçu)

* « / » devant le nom ➯ balise finale ; /b signifie « arrêt de mise en gras »

est le bouton pour la mise en italiques (italic)i et /i

est le bouton pour souligner (underline)u et /u


voilà : avec tout ça, tu vas devenir un expert en balises de code !

(et t'auras plus d'excuses pour mal présenter ton code VBA ! )

dhany

Rechercher des sujets similaires à "deplace onglet classeur"