Copier données de plusieurs feuilles dans tableau dynamique

Bonjour,

Je souhaite remplir un tableau dynamique des données qui sont sur plusieurs feuilles. Dans mon fichier, j'ai réussi sans macro sauf que j'ai un problème car les feuilles (les fiches) sont variables par trimestre. Et dés qu'on supprime une feuille, les formules "perdent" le nom de la feuille. j'aimerai donc pourvoir mettre le nom des feuilles "en dur", par exemple fiche1 à fiche 100, et si la fiche existe, ça prend les données dans le tableau, sinon ça laisse les cases du tableau vides (ou avec une erreur).

Si ce n'est pas possible à faire avec seulement des formules, alors refaire le tout en VBA, mais je connais trop mal ce langage. L'idéal serait de saisir le nombre de fiches en entrée de la macro, et hop! le tableau se rempli.

Qui peut m'aider ?

Toutes les données de mon fichiers sont anonymes et saisies au hasard.

Je travaille avec Excel Office 16.

Merci beaucoup pour vos retours.

Nota: comment fait-on pour communiquer un fichier ????

Daniel

Bonjour,

Pour mettre un fichier à disposition cliquez ici

danieldan

Cdlt

Voici mon fichier :

Bonsoir,

Votre fichier avec les formules modifiées. Cliquez sur le bouton pour rafraîchir si le nombre de fiches varie.

Cdlt

Bonsoir,

Merci beaucoup!!! Génial, ça résout bien mon problème.

Avec toute ma reconnaissance,

Cordialement

Puis-je te demander encore une chose ? :-)

J'ai la macro suivante :

If n > 0 Then
For i = 1 To n
Worksheets("modele").Copy before:=Worksheets("modele") ':=ActiveWorkbook.Sheets(Worksheets.Count)
End If

Je voudrais que chaque fiche rajoutée, qui s'appelle automatiquement "modele (2)", puis (3) etc, soit renommée en "vierge (2)", puis (3) etc ...

Quel code VBA dois-je rajouter ?

j'ai essayé plein de choses avec ActiveSheet.Name, mais ça ne marche pas ....

Merci d'avance!

Bonjour,

Essayez ceci:

    If n > 0 Then
        For i = 1 To n
            Worksheets("modele").Copy before:=Worksheets("modele")
            ActiveSheet.Name = Replace(ActiveSheet.Name, ActiveSheet.Name, "vierge " & i)
        Next i
    End If

Cdlt

Bonjour

Office 16 est ambigu : peux-tu indiquer ta version Excel sous la forme 2016, 2019, 2021 ou 365

Bonjour,

Nickel, ça marche! Merci Arthuro83, tu es très bon !

Encore une demande STP, pour un autre besoin ?

Je voudrai un programme VBA qui renomme toutes les fiches qui sont à gauche de 'modele' par un nom "fiche01", "fiche02", etc ... sans toucher aux nom de "modele" et des noms des fiches qui sont à droite de "modele".

Un exemple ci-dessous, que je souhaite renommer:

image

Merci d'avance

Bonjour 78chris, c'est version 16.0. cordialement

Bonjour,

Besoin de précisons, les fiches à gauche de "modèle", ok, mais plus précisément, quelles fiches? les "T", les "vierges", les "fiches, toutes?

Oui, toutes celles qui sont à gauche, quel que soit leur nom.

Alors voici, toutes les feuilles à gauche de "modèle" sont renommées, comme ceci: "vierge 1", "vierge 2" etc

Sub Renommer_les_Feuilles()
    For i = 1 To Sheets.Count
        If Sheets(i).Name = "modele" Then
            Exit Sub
        Else
            Sheets(i).Name = Replace(ActiveSheet.Name, ActiveSheet.Name, "vierge " & i)
        End If
    Next i
End Sub

Cdlt

Bonjour,

Super, ça marche! Merci Arthuro83!!!!

Bonne semaine,

Bonjour Arthuro83,

Tu m'avais bien aidé, je reviens avec une nouvelle question.

J'ai inséré une boite à cocher (En présentiel) dans une feuille, comme ceci :

image

Comment puis-je récupérer, dans un autre tableau de récap, cette information de la case à cocher ('vrai ou faux par exemple).

merci d'avance,

Cordialement,

Daniel

Bonsoir,

Quel type de case à cocher? Formulaire ou ActiveX? Y a t-il une cellule liée? Récupération dans quel tableau ? De quelle feuille?

Fournissez un fichier avec les réponses aux questions posées ci-dessus et je serai en mesure de vous faire une proposition, sans ces éléments je ne peux répondre correctement.

Cdlt

Voici le fichier.

Mon besoin est de mettre "oui" ou "non" dans la colonne "en présentiel" de la feuille "centralisation", si la case à cocher de la feuille "fiche 1" est cochée ou non.

Pour "Formulaire ou ActiveX?", je ne sais pas ce qui convient car je ne maitrise pas ...

Merci

9evolution.xlsm (55.72 Ko)

Daniel

Bonjour,

Dans le fichier que vous m'avez donné, l'information de la case à cocher se met bien à jour dans "centralisation" lorsqu'on modifie cette information dans une fiche. Mais j'aimerais que l'info dans "centralisation" se mette à jour aussi lorsque je copie des fiches dans le fichier. Or, cette info se met à jour dans "centralisation" sur exécution immédiate de la macro lorsqu'on change la case à cocher et non pas lors de la copie de fiches venant d'un autre fichier. Est-ce possible que cette macro s'exécute aussi lors d'une copie ou alors que je puisse lancer une macro spécifique après mes copies de fiches, qui vienne remettre à jour toutes les infos des cases à cocher de toutes les fiches dans "centralisation" ?

Pour mieux comprendre mon pb, c'est que je rassemble toutes les fiches de plusieurs personnes dans un seul fichier, pour faire une compil globale.

Merci d'avance,

Cdlt

Bonjour,

Voilà, j'ai ajouté un bouton "Récupération des présentiels..." dans la feuille "Centralisation".

Cdlt

PS: Merci de bien vouloir passer le sujet en résolu. (il y a un endroit à cocher pour ça)

Rechercher des sujets similaires à "copier donnees feuilles tableau dynamique"