Sélection de différentes feuilles pour une macro

Résolu/Fermé
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014 - 16 mai 2013 à 09:24
Ludo636 Messages postés 19 Date d'inscription vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014 - 5 juin 2013 à 15:01
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 vendredi 10 mai 2013 Statut Membre Dernière intervention 22 octobre 2016 84
17 mai 2013 à 10:04
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 vendredi 26 avril 2013 Statut Membre Dernière intervention 22 janvier 2014
5 juin 2013 à 15:01
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