Macro valeur en fonction de la date

Bonjour,

Etant novice je débute dans les macros.

Je souhaite reporter dans la feuille "DONNEE" les données importées quotidiennement : POURCENTAGE CA et PRIX par jour.

J'ai crée un bouton pour importer le 1er jour mais je n'arrive pas à répéter l'action pour les différentes feuilles sur la feuille DONNEE.

Je voudrais que la macro puisse vérifier la date dans chaque feuille et puisse remplir le tableau DONNEE à la bonne date.

Merci de votre aide

Damien

19taux-macro.xlsm (30.97 Ko)

Salut :

essai à testé

8taux-macro-1.xlsm (47.18 Ko)

Merci beaucoup pour la réponse rapide, c'est quasiment ça, mais les données dans chaque feuille peuvent varier en emplacement malheureusement.

C'est pourquoi dans ma macro de "débutant" j'avais fait une recherche de cellule par le nom et copié le résultat à coté. pour le coller ensuite sur la feuille donnée. (ex: le prix peut être en A15 ou en A18 comme ailleurs dans la colonne - Pareille pour le pourcentage CA)

Votre macro est génial mais je ne serais la refaire. Pouvez vous mettre en détail le cheminement en dessous de chaque action, si ce n'est pas trop demandé ?

ps: c'est juste une question que j'apprenne un peu

Damien

Une précision, la date des feuilles est toujours en A5 par contre

Bon, j'ai essayer de combiner ma macro avec celle de belkacem mais j'ai toujours une erreur avec les if et les Next à la fin

Je pense que je ne maitrise pas la fin de ma macro

Sub POURCENTAGE()

Dim My_Sheet As Worksheet, _

Sh As Worksheet, _

LastCol As Long, _

I As Long, _

J As Long, _

My_Val As Long

'--------------------------------------------------------------------------------

Set My_Sheet = Sheets("DONNEES")

Application.ScreenUpdating = False

My_Sheet.Range("B6:AF7").ClearContents

'--------------------------------------------------------------------------------

For Each Sh In ThisWorkbook.Worksheets

If Sh.Name <> "DONNEES" Then

With Sh

MyDate = .Range("A5").Value2

LastCol = My_Sheet.Cells(5, Columns.Count).End(xlToLeft).Column

For I = 2 To LastCol

If My_Sheet.Cells(5, I).Value2 = MyDate Then

'-------------------------------------------------------------------------------

For J = 4 To Range("A" & Rows.Count).End(xlUp).Row

If UCase(Range("A" & J)) = "PRIX" Then

My_Val = .Range("B" & J)

My_Sheet.Cells(6, I) = .Range("A5").Offset(4, 1)

My_Sheet.Cells(7, I) = My_Val

End If

Next J

Next I

End With

End If

Next Sh

Application.ScreenUpdating = True

End Sub

Rechercher des sujets similaires à "macro valeur fonction date"