Sélection de différentes feuilles pour une macro

Résolu
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis débutant en vba et je bute sur un sujet.
Le but de mon classeur, est tout d'abord de récupérer des références de documents avec des commentaires sur différentes feuilles en fonction des mois de parutions (les données ne sont pas bien rangées). J'ai une feuille pour chaques mois.
Ensuite j'ai une nouvelle feuille qui elle à pour role de récupérer toutes les données d'une feuille (mois par mois) sélectionnée afin de les ranger dans un tableau qui serat plus lisible.

Avec ma macro, j'arrive à faire cette sélection et à remplir mon tableau, seulement mon problème est que ma macro est prévue que pour le mois de Mars.

J'aimerais avoir la possibilité de sélectionner la feuille (mois) désirer sans créer une macro pour chaques mois afin de récupérer les données du mois désiré

Voici ma macro:

Sub Macro1()
'
' Macro1 Macro
'

Sheets("Mars").Select
Range("B19:MN19").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("B3:B353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B17:MN17").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("B3:B353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B15:MN15").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("B3:B353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B6:MN6").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("B3:B353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B4:MN4").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("B3:B353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B2:MN2").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("B3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True





Sheets("Mars").Select
Range("B20:MN20").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("C3:C353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B18:MN18").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("C3:C353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B16:MN16").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("C3:C353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B7:MN7").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("C3:C353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B5:MN5").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True

Range("C3:C353").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Sheets("Mars").Select
Range("B3:MN3").Select
Selection.Copy

Sheets("commentaires_mensuel_mr").Select
Range("C3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True



Dim i As Integer, DerniereLigne As Integer

DerniereLigne = Range("B65536").End(xlUp).Row

For i = DerniereLigne To 1 Step -1
If Worksheets("commentaires_mensuel_mr").Cells(i, 2) = "-" Then Worksheets("commentaires_mensuel_mr").Rows(i).Delete


Next i


End Sub

Un grand merci pour votre aide
A voir également:

2 réponses

.Grincheux. Messages postés 211 Date d'inscription   Statut Membre Dernière intervention   84
 
Bonjour,

Souhaites-tu récupérer les données de toutes les feuilles d'un coup, ou bien récupérer uniquement les données d'une feuille dont tu préciserais le nom ?

Dans le 1er cas, tu peux ajouter un boucle qui répéteras les copies de données feuille par feuille.
Dans le 2ème cas, tu peux utiliser une cellule (par exemple A1) de ta 1ère feuille pour indiquer le nom du mois à récupérer. Dans ta macro, utilise ensuite Sheets(range("A1").Value ).

Bonne journée.
1
Ludo636 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour .Grincheux.

C'est bien le 2ème cas qui m'intéresse, j'ai donc fait comme tu me la précisé et tout fonctionne correctement merci beaucoup.
0