Récupération valeur cellules dans plusieurs TCD par macro

Bonjour à tous,

Je viens vers vous car j'ai un petit problème, je cherche au sein d'une ou deux macro, pouvoir récupérer au sein d'un tableau dans une feuille nommé "BILAN" les noms des feuilles qui m'intéressent mais également si la feuille contient ce nom la valeur d'une cellule.

Voilà la structure du projet :

1 ère macro transforme une source de données en TCD

2 -ème macro copie le TCD et la feuille en X exemplaires puis la renomme automatiquement MIX-1, MIX-2,....,MIX-X (X est rempli par l'utilisateur en général il ne dépasse pas 10)

Etape 3 : l'utilisateur rajoute des segments à chaque feuille ce qui lui permet de sélectionner les items/articles dont il a besoin de sorte a que le TCD lui fasse un bilan financier de l'assemblage de ces différents articles. On garde donc le même format pour tous les TCD cependant leurs contenus diffère en fonction des choix de l'utilisateur.

Etape 4 : Utilisation d'une 3 -ème macro qui parcourt les différentes feuilles nommées MIX-X et récupération de la valeur d'une cellule le total afin de comparer les différents assemblages

Ci-dessous la forme de mon TCD et la cellule en rouge que je cherche à copier

89437 613602beeda8f725243465

Je cherche donc a remplir un tableau dans la feuille "BILAN" de la forme :

image

Avec la colonne critère qui référence les différents noms de feuilles contenant les TCD et en face dans coût de production la valeur comprise dans le TCD

Pour récupérer les noms des feuilles j'ai codé une macro qui fonctionne :

image

Cependant je n'arrive pas à récupérer la valeur de la cellule du TCD.

Quand je mets en direct dans le tableau = cellule Excel me renvoie la formule suivante

MIX-1 ||||||||| =LIREDONNEESTABCROISDYNAMIQUE("Somme de Total T1 [e TOTAL]";'MIX-1'!$A$3)

MIX-2 ||||||||| =LIREDONNEESTABCROISDYNAMIQUE("Somme de Total T1 [e TOTAL]";'MIX-2'!$A$3)

.....

MIX-X ||||||||| =LIREDONNEESTABCROISDYNAMIQUE("Somme de Total T1 [e TOTAL]";'MIX-X'!$A$3)

Quand je passe dans l'enregistreur de macro il me retourne le code suivant :

image

Lorsque je réitère avec mon MIX-2, MIX-3, ect il n'y a que la partie 'MIX-1' qui change ma question est : comment puis-je transformer ça en variable de sorte a utiliser une boucle for et faire varier cette variable pour copier la valeur de la cellule à partir de mes différentes feuilles.

Je ne sais vraiment pas comment je peux faire pour automatiser ceci et j'ai besoin de votre aide.

Je vous remercie de m'avoir lu et par avance si vous pouvez m'aider.

Thomas

UP du sujet.

up

Bonjour,

Proposition (non testée puisque le fichier n'est pas disponible)

Sub SnameList()
    Dim f1 As Worksheet
    Dim i As Long, Lig As Long
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set f1 = Sheets("BILAN")
    Lig = 4
    For i = 1 To Sheets.Count
        If Left(Sheets(i).Name, 3) = "MIX" Then
            f1.Cells(Lig, "B") = Sheets(i).Name
            f1.Cells(Lig, "D").FormulaR1C1 = "=GETPIVOTDATA(""Somme de Total T1 [e TOTAL]"",'" & Sheets(i).Name & "'!R3C1)"
            Lig = Lig + 1
        End If
    Next i
    Set f1 = Nothing
End Sub

Cdlt

Bonjour,
la méthode GetPivotData demande de référencer le TCD.
Ce n'est pas une fonction de feuille de calcul (WorksheetFunction).
Comme exprimé par Arturo83, un fichier serait utile pour une aide adaptée.

Faire F1 dans l'éditeur VBE sur GetPivotData pour l'aide Excel.

Cdlt.

Je tiens à te remercier Arturo je viens de tester et cela marche parfaitement.

Merci également Jean-Eric pour tes explications sur mes erreurs sur la fonction.

Ce projet est ma première expérience VBA du coup je galère un peu et je n'avais pas trop compris le fonctionnement de cette fonction mais je saurais pour les prochaines fois.

Encore merci à vous pour votre aide, je me doute que ce n'est pas évident quand il n'y a pas le fichier sous les yeux mais pour son fonctionnement dans le code de certaines macros, il y a des données que je ne peux pas diffuser et nécessaire au fonctionnement du fichier j'ai donc essayé de détailler au maximum mon problème en évitant la diffusion du fichier. Mais je sais que ce n'est pas pratique encore désolé mais je ne pouvais vraiment pas le diffuser.

Encore merci !

Thomas.

PS : Je passe le sujet en résolu

Rechercher des sujets similaires à "recuperation valeur tcd macro"