Aide introduction variable code

Bonjour à tous,

J'ai besoin d'une macro qui copie et colle des données d'un fichier excel a un autre. Le problème que j'ai, c'est que ces données sont variable selon deux paramètres, le nom de l'entreprise et les dates. J'ai donc utilisé l’enregistreur de macro pour me donnée une idée du code a mettre en place, voici le résultat :

Sub Macro3()
'
' Macro3 Macro
'

'
    Windows("Contrat de Liquidité trade Point Hebdo.xlsx").Activate
    With ActiveWorkbook.SlicerCaches("Segment_Libellé_ISIN")
        .SlicerItems("ABEO").Selected = True
        .SlicerItems("ADEUNIS").Selected = False
        .SlicerItems("BIOM UP").Selected = False
        .SlicerItems("BOURBON").Selected = False
        .SlicerItems("CELLNOVO").Selected = False
        .SlicerItems("DELFINGEN").Selected = False
        .SlicerItems("EMOVA GROUP").Selected = False
        .SlicerItems("ESI GROUP").Selected = False
        .SlicerItems("EVOLIS").Selected = False
        .SlicerItems("FLEURY MICHON").Selected = False
        .SlicerItems("Foncière Atland").Selected = False
        .SlicerItems("GENFIT").Selected = False
        .SlicerItems("GENOMIC VISION").Selected = False
        .SlicerItems("GL EVENTS").Selected = False
        .SlicerItems("GROUPE OPEN").Selected = False
        .SlicerItems("GROUPE PARTOUCHE").Selected = False
        .SlicerItems("HF").Selected = False
        .SlicerItems("KEYRUS").Selected = False
        .SlicerItems("MAISONS FRANCE CONFORT").Selected = False
    End With

    With ActiveWorkbook.SlicerCaches("Segment_Date_Opération")
        .SlicerItems("16/09/2019").Selected = True
        .SlicerItems("17/09/2019").Selected = True
        .SlicerItems("18/09/2019").Selected = True
        .SlicerItems("19/09/2019").Selected = True
        .SlicerItems("20/09/2019").Selected = True
        .SlicerItems("02/01/2019").Selected = False
        .SlicerItems("03/01/2019").Selected = False
        .SlicerItems("04/01/2019").Selected = False
        .SlicerItems("07/01/2019").Selected = False
        .SlicerItems("08/01/2019").Selected = False
        .SlicerItems("09/01/2019").Selected = False
        .SlicerItems("10/01/2019").Selected = False
        .SlicerItems("11/01/2019").Selected = False
        .SlicerItems("14/01/2019").Selected = False
        .SlicerItems("15/01/2019").Selected = False
        .SlicerItems("16/01/2019").Selected = False
        .SlicerItems("17/01/2019").Selected = False

Et j'ai raccourcis la macro car il y a bcp de date et bcp d'entreprise ^^. Sachant que le nom de l'entreprise se trouve en cellule A1, et que les dates de dabut et de fin se trouve respectivement en C5 et C6, pouvez vous m'aidez a simplifier cette macro et la mettre en lien avec les variables dates ?

Merci

J'ai essayé ceci :

Sub Test()

Dim a As String
a = Cells(1, 1)

Dim b As Date
b = Cells(3, 6)

Windows("Contrat de Liquidité trade Point Hebdo.xlsx").Activate

For Each slcCache In ActiveWorkbook.SlicerCaches
        slcCache.ClearManualFilter
Next

With ActiveWorkbook.SlicerCaches("Segment_Libellé_ISIN")
.SlicerItem("a").Selected = True
For Each oSlicerItem In .SlicerItems
        If oSlicerItem.Name = "a" Then
            oSlicerItem.Selected = False
        Else
            oSlicerItem.Selected = True
        End If
    Next oSlicerItem

End With

With ActiveWorkbook.SlicerCaches("Segment_Date_Opération")
.SlicerItem("b").Selected = True
.SlicerItem("b-1").Selected = True
.SlicerItem("b-2").Selected = True
.SlicerItem("b-3").Selected = True
.SlicerItem("b-4").Selected = True
For Each oSlicerItem In .SlicerItems
        If oSlicerItem.Name = "b" Then
            oSlicerItem.Selected = False
        Else
            oSlicerItem.Selected = True
        End If
    Next oSlicerItem

End With

End Sub

Mais cela ne fonctionne toujours pas. De plus, j'ai besoin d'une selection multiple pour la variable b qui va de b a b-4 (les dates du lundi au vendredi d'une seumaine). b est rentré manuellment.

Merci de votre aide

Bonjour,

A mon avis, tu n'as pas besoin de travailler avec les segments pour faire ce que tu veux.

Ils compliquent la tâche en VBA.

Cdlt.

Bonjour,

tu aurais une solution alternative ?

Bonjour,

As-tu la possibilité de joindre un fichier (exemple simplifié anonymisé) pour une aide adaptée ?

Cdlt.

Celui ci est le fichier a partir de quel je dois prendre les données. J'aimerai que ma macro sur un autre fichier selectionne les dates par exemple du 16/09 au 20/09 plus les dates entre ces deux dernieres, plus une entreprise dans le libellé isin. Il y aura un onglet par entreprise présente dans ce fichier sur l'autre. Le nom de l'entreprise se trouve en A1 et les dates en C5 et C6. Je voulais une macro qui marche pour tout les onglet avec les différents nom d'entreprise en fait.

6fichier-2.xlsx (428.36 Ko)

Voici le fichier que je réalise

5fichier-1.xlsm (84.44 Ko)

Personne ?

Tu ne réponds pas à nos messages lorsqu'on t'écrit, ne t'étonne pas de ne pas recevoir de réponse sur d'autres fils

Rechercher des sujets similaires à "aide introduction variable code"