Ajouter une page dans classeur excel VBA


#1

Bonjour à tous !

Je sollicite votre aide car je suis dans l’impasse.

Ma classeur comporte plusieurs feuilles. Dans chacune de ces feuilles on y trouve un tableau. Ma macro me permet de copier chacun de ces tableaux puis de les coller dans ma “Feuil1” pour créer mon rapport.

Cependant, je possède aussi une feuille “P de garde” et “Consigne de sécurité”.

J’aimerai modifier ma macro pour pouvoir coller respectivement les feuilles “P de garde” et “Consigne de sécurité” avant et après ces tableaux…

Si ma question n’est pas clair n’hésitez pas à me poser des questions.

La macro en question est dans le Module 4
En vous remerciant ! test 2.xlsm (109,4 Ko)


#2

Bonsoir,
Tu peux ajouter ces deux lignes de codes dans la macro pour déplacer les deux feuilles

ActiveWorkbook.Worksheets(“Sécurité”).Move After:=Worksheets(Worksheets.Count) ==> place cette feuille en fin de classeur
ActiveWorkbook.Worksheets(“P de gard”).Move before:=ActiveWorkbook.Worksheets(1) ==> place cette feuille au début du classeur
Application.ScreenUpdating = True 'permet de figer l’écran lors de l’exécution de la macro

J’espère bien avoir compris ta demande.

Bien à toi et bonne soirée


#3

Bonjour et merci pour l’intérêt que tu portes à ma demande!!

Je me suis mal exprimé. J’aimerai intégré ces deux feuilles, DANS ma Feuil1. J’aimerai intégrer ma page de garde dans Feuil 1 pour ensuite créer mon rapport…

Je ne veux pas déplacer ces classeurs avant et après Feuil1 mais plutôt intégrer ces deux feuilles à Feuil1.

Ai je été plus clair ?

En te remerciant :slight_smile:


#4

Bonjour,
La difficulté de ta demande, c’est que la mise en page de la feuille “P de garde” est différente de la feuille1 est différente. Tu as masqué quelques colonnes dans la feuille “P de garde”.

Essaie d’ajouter le code suivant dans la macro juste avant la dernière ligne de la macro

Sheets("P de gard").Select
Range("A1:U48").Select
Selection.Copy
Sheets("Feuil1").Select
Rows("1:56").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll Down:=45

Application.ScreenUpdating = True 'permet de figer l’écran lors de l’exécution de la macro

Mais tu devras corriger quelques éléments.

Bon travail d’avance