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 -
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
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:
- Sélection de différentes feuilles pour une macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment faire un livret avec des feuilles a4 - Guide
- Bruler des feuilles de laurier - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Regrouper plusieurs feuilles excel en une seule - Guide
2 réponses
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.
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.