XL 2016 Aide pour copier coller des infos sur critère d'un mois

christ77000

XLDnaute Occasionnel
Bonjour à tous j'aurais encore besoin de votre aide pour m'aider à faire une macro qui me copie des infos d'une feuille sur une autre en fonction du mois en cour.
Dans ma feuille "données" j'ai une colonne date, description et tarif. Dans la description se sont des nouveaux produits. Je voudrais que dans ma feuille infos reprendre en automatique toutes les descriptions sans les tarifs du mois en cour et si possible avec les liens si il y en a. Avoir également la possibilité a l'aide d'une liste déroulante de passer en revu un autre mois que celui en cour. Pour plus de compréhension je joint un fichier. Un grand merci à vous pour l'aide.
 

Pièces jointes

  • Classeur1.xlsm
    21.4 KB · Affichages: 17
Dernière édition:

christ77000

XLDnaute Occasionnel
j'arrive juste à faire un copier coller classique mais comment dans ce code faire pour qu'il sélectionne par mois et éventuellement pouvoir choisir un mois en manuel

VB:
Sub copier()
'
' copier Macro
'

'
    Sheets("données").Select
    Range("B10:B11").Select
    Selection.Copy
    Sheets("infos").Select
    Range("A5").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Range("C18").Select
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir

Un début de piste
On doit être sur la feuille infos pour lancer la macro
Code:
Sub test()
Range("C6").FormulaR1C1 = "=MONTH(données!RC[-2])=R1C5"
Sheets("données").Range("A5:C11").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("C5:C6"), _
        CopyToRange:=Range("H4:J4"), _
        Unique:=False
End Sub
NB: Reste à peaufiner, mais présentement, c'est l'heure de ma soirée TV.
;)
 

christ77000

XLDnaute Occasionnel
Bonsoir, oui je l'ai lancer la macro j'ais du texte repris de la feuille "données" et une formule =MOIS(données!A6)=$E$1 qui permet de reprendre les données dans date description et tarif. Et si en C6 par de date manuelle pas de reprise des données. Si j'ai bien compris. Merci pour ton aide.

Autre question comment ne reprendre que la description et si je repasse en auto et relance la macro afficher du cout le mois en cour donc mars !! c'est la ou je ne comprend pas la macro
 

Staple1600

XLDnaute Barbatruc
Bonsoir

On se rapproche
(test OK sur ton fichier exemple)
Associe cette macro au bouton Auto
(clic-droit => Affecter une macro)
VB:
Sub Macto_Filtre()
Dim lig&, f As Worksheet: Set f = Sheets("données")
Range("A3").FormulaR1C1 = "=MONTH(données!R[3]C)=infos!R1C5"
Application.ScreenUpdating = False
[A6:A31] = ""
Range("A2:A3").Select
lg = f.Cells(Rows.Count, 1).End(xlUp).Row
f.Range("A5:C11").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A2:A3"), Unique:=False
With f.Range("B5:B" & lg).SpecialCells(xlCellTypeVisible)
.Copy Sheets("infos").Range("A5")
End With
f.ShowAllData
End Sub
 

christ77000

XLDnaute Occasionnel
bonjour, je viens de tester votre nouvelle macro.
► si je clique sur "auto" cellule E1 vide j'ai bien le les infos du mois en cours
► si maintenant je clique sur février en manuel je me retrouve avec les données de février et d'avril.

je vous transmet le fichier avec février en manuel par exemple. Encore merci pour votre aide.
 

Pièces jointes

  • Classeur1.xlsm
    24.6 KB · Affichages: 4

christ77000

XLDnaute Occasionnel
Et si je peut me permettre une demande de plus, est t'il possible que à l'ouverture de la feuille infos lancer directement la macro et ainsi avoir tout de suite le visuel du mois en cours et en sélectionnant un mois en manuel par exemple février avoir de suite les infos du mois de février sans cliquer sur "AUTO".
A l'origine le bouton servait a retirer la valeur de la sélection manuel en E1 a savoir dans mon exemple le mois de février (2) et permettre de repasser en AUTO sur le mois en cours. Donc en gros si valeur en E1 j'affiche les infos du mois sélectionner en manuel et si rien et bien les infos du mois en cours. En espérant avoir été clair. Encore merci.
 

christ77000

XLDnaute Occasionnel
alors je viens de modifier votre macro sur la ligne f.Range("A5:C11").AdvancedFilter en f.Range("A5:C14").AdvancedFilter./ C'était juste le nombre de linge qui était insuffisant. donc tout est ok. si juste il y avait cette possibilité de le faire en auto a l'ouverture du fichier
 

Discussions similaires

Réponses
25
Affichages
1 K

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 155
dernier inscrit
lombrik