XL 2016 Automatiser la recherche sur plusieurs feuilles

paradisecity1996

XLDnaute Nouveau
Bonjour à tous,

tout d'abord je tiens à vous souhaiter une excellente année 2023 et plein de bonnes choses pour cette nouvelle année.

Je suis confronté à un problème de recherche à travers plusieurs feuilles. J'ai un fichier qui contient de nombreuses feuilles relatives chacune à un projet unique (il y en aura de plus en plus), toutes les feuilles sont identiques dans la structure, chaque feuille est un copié collé des précédentes, seules les données de ces feuilles changent.

En premier onglet, je souhaite faire un consolidé des données de toutes les feuilles pour avoir une vision d'ensemble de mes projets. Je n'ai aucun problème à aller chercher les données manuellement dans chacune des feuilles mais ce n'est pas du tout optimisé. Serait-il possible dans une formule de faire référence à un nom de feuille qui serait situé au dans une cellule de telle sorte qu'il serait possible de tirer la formule pour que le nom de la feuille se mette à jour automatiquement ou un autre moyen permettant de ne pas avoir à taper le nom de la feuille dans chacune des formules...

J'ai glissé un fichier type en PJ afin d'appuyer mes propos. N'hésitez pas à m'interpeler pour avoir si besoin plus d'informations.
Merci d'avance pour votre aide .
 

Pièces jointes

  • Classeur forum.xlsx
    14 KB · Affichages: 6

chris

XLDnaute Barbatruc
Bonjour

Si ton classeur réel ressemble à cela et contient vraiment des données éparpillées sans titre de colonne et des lignes vides, c'est tout sauf optimisé alors qu'avec un tableau normalisé on synthétise en quelques clics...
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Paradisecity,
Un essai en PJ avec :
VB:
Sub Worksheet_Activate()
    Dim C%, F
    Application.ScreenUpdating = False
    Set Dest = ActiveSheet
    [B:ZZ].ClearContents                    ' On efface tout
    C = 2                                   ' Première colonne en B
    For Each F In Worksheets
        If F.Name <> "Consolidé" Then       ' Si feuille différente de Consolidé
            With Sheets(F.Name)             ' On copie les données
                Dest.Cells(2, C) = F.Name
                Dest.Cells(3, C) = .[C3]
                Dest.Cells(4, C) = .[C4]
                Dest.Cells(5, C) = .[G5]
                Dest.Cells(6, C) = .[G6]
                Dest.Cells(7, C) = .[G7]
                Dest.Cells(8, C) = .[G8]
                Dest.Cells(9, C) = .[G9]
                Dest.Cells(10, C) = .[G10]
                Dest.Cells(11, C) = .[G11]
                Dest.Cells(12, C) = .[E16]
                C = C + 1                   ' On passe à la colonne suivante pour la prochaine feuille
            End With
        End If
    Next F
End Sub
La consolidation est automatique quand on sélectionne la feuille Consolidé, avec remise à jour des données mais aussi des nouvelles feuilles ajoutées.
 

Pièces jointes

  • Classeur forum.xlsm
    20 KB · Affichages: 7

Jacky67

XLDnaute Barbatruc
Bonjour à tous,

tout d'abord je tiens à vous souhaiter une excellente année 2023 et plein de bonnes choses pour cette nouvelle année.

Je suis confronté à un problème de recherche à travers plusieurs feuilles. J'ai un fichier qui contient de nombreuses feuilles relatives chacune à un projet unique (il y en aura de plus en plus), toutes les feuilles sont identiques dans la structure, chaque feuille est un copié collé des précédentes, seules les données de ces feuilles changent.

En premier onglet, je souhaite faire un consolidé des données de toutes les feuilles pour avoir une vision d'ensemble de mes projets. Je n'ai aucun problème à aller chercher les données manuellement dans chacune des feuilles mais ce n'est pas du tout optimisé. Serait-il possible dans une formule de faire référence à un nom de feuille qui serait situé au dans une cellule de telle sorte qu'il serait possible de tirer la formule pour que le nom de la feuille se mette à jour automatiquement ou un autre moyen permettant de ne pas avoir à taper le nom de la feuille dans chacune des formules...

J'ai glissé un fichier type en PJ afin d'appuyer mes propos. N'hésitez pas à m'interpeler pour avoir si besoin plus d'informations.
Merci d'avance pour votre aide .
Bonjour à tous *Meilleurs vœux
Un essai avec indirect.
 

Pièces jointes

  • Classeur forum.xlsx
    18.7 KB · Affichages: 8

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans la feuille "Concolidé" du fichier joint en cellule A1 nommée "Fichier", vérifiez la validité du chemin et du nom du fichier avant d'actualiser la requête. Enregistrez également les dernières modifications apportées aux données avant d'actualiser. La requête va traiter le fichier comme un fichier externe.

Cordialement
 

Pièces jointes

  • Classeur forum.xlsx
    23.6 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Si votre fichier est grand avec de nombreuses cellules à copier, ça rame à cause des écritures dans la feuille Consolidé.
Voir cette PJ où je passe par un Array, ce qui est beaucoup plus rapide.
Dans la Pj avec 20 feuilles et 16 valeurs à transférer, je passe, sur mon PC de 800ms à 30ms avec cette nouvelle version. Soit 26 fois plus rapide.
 

Pièces jointes

  • Ex.xlsm
    41.9 KB · Affichages: 4

Discussions similaires

Réponses
5
Affichages
129
Réponses
16
Affichages
466

Statistiques des forums

Discussions
312 111
Messages
2 085 399
Membres
102 882
dernier inscrit
Sultan94