XL 2013 Récap de plusieurs onglets sur un seul

  • Initiateur de la discussion Initiateur de la discussion ANTONY34200
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ANTONY34200

XLDnaute Occasionnel
Bonjour le forum,
j'ai fais un petit fichier, dans lequel il y a plusieurs onglets ... 1, 2, 3, et récap.
j'aimerais que dans l'onglet récap, il puisse s'y incrémenter automatiquement les données des onglets 1, 2, 3
J'ai bien trouver une pseudo solution avec des formules (mais la présentation ne me conviens pas ...),donc je préférerais passer par du VBA, mais je ne suis pas très doué avec le VBA ...
Si quelqu'un pouvais me filer un petit coup de main ...
Je vous joint un fichier test du fichier sur lequel je travail.

Merci d'avance
 

Pièces jointes

Solution
Bonjour Staple1600,
je viens juste de trouver ma solution avec ce code ...
VB:
Sub importer()
  Dim i As Long, sh As Integer, lig As Long, j As Integer
  With Sheets("Récap")
   .Range("A3:J" & .Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents
   For sh = 1 To Sheets.Count
    If Sheets(sh).Name <> "Récap" And Sheets(sh).Name <> "3 (4)" Then ' entre les guillements les feuilles non désirées
      For i = 3 To Sheets(sh).Range("A" & Rows.Count).End(xlUp).Row + 1
        If .Range("A2") = "" Then lig = 2 Else lig = .Range("A" & Rows.Count).End(xlUp).Row + 1
        For j = 1 To .Cells(2, Columns.Count).End(xlToLeft).Column
          .Cells(lig, j) = Sheets(sh).Cells(i, j)
        Next
      Next
    End If
   Next
  End With
End...
Bonjour Staple1600,
je viens juste de trouver ma solution avec ce code ...
VB:
Sub importer()
  Dim i As Long, sh As Integer, lig As Long, j As Integer
  With Sheets("Récap")
   .Range("A3:J" & .Range("A" & Rows.Count).End(xlUp).Row + 1).ClearContents
   For sh = 1 To Sheets.Count
    If Sheets(sh).Name <> "Récap" And Sheets(sh).Name <> "3 (4)" Then ' entre les guillements les feuilles non désirées
      For i = 3 To Sheets(sh).Range("A" & Rows.Count).End(xlUp).Row + 1
        If .Range("A2") = "" Then lig = 2 Else lig = .Range("A" & Rows.Count).End(xlUp).Row + 1
        For j = 1 To .Cells(2, Columns.Count).End(xlToLeft).Column
          .Cells(lig, j) = Sheets(sh).Cells(i, j)
        Next
      Next
    End If
   Next
  End With
End Sub

Merci du coup de main.
je joints également mon fichier
 

Pièces jointes

Re

@ANTONY34200
Mon code se base sur ton fichier exemple, celui du message#1
qui ne contient que 4 feuilles nommées
1
2
3
Récap

Donc testes ma macro sur ce fichier, pour voir le résultat de la macro (sans erreur)

NB: Dans ce fichier, les 4 feuilles contenait chacune un seul tableau structuré (Listobject)
D'où : ws.ListObjects(1) et Feuil4.ListObjects(1)
 
Re

Mon code se contente de recopier
Donc si tu lances la macro N fois, tu auras N copies des tableaux des feuilles 1,2 et 3

Maintenant quel est le but poursuivi ?

Pourquoi ne pas utiliser un seul tableau pour la saisie et utiliser un tableau croisé dynamique pour exploiter tes données ?
Comme ceci par exemple
Ci-dessous un TCD exTCD.PNG
 
Re

A mon sens, tu tu compliques la vie
Quant au TCD, il suffit de d'y mettre 😉
(Il y a moult tutos sur le web)

Ton dernier fichier ne ressemble plus du tout au premier.
Dans lequel les tableaux avaient tous les même libellés en entêtes.

Si j'étais moi:
• une feuille base de données (*)
• une feuille Récap avec N TCD selon les besoins
ou N TCD sur des N feuilles distinctes créées à la volée.

(*) qui pourrait correspondre à la feuille Recherche de ton dernier fichier.

Exemple: ici j'ai isolé des données pour le mois de janvier 2023
exTCD2.PNG

NB: L'avantage d'utiliser un TCD, c'est qu'il se pilote à la souris et qu'il 'y a pas de risque de plantage VBA.

PS: Pourquoi sur ta feuille Recherche colonne HT = colonne TTC ?

Si tu ne souhaites pas envisager la piste du TCD, je laisse mes petits camarades de jeu prendre le relais
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
472
Réponses
4
Affichages
114
Réponses
6
Affichages
654
Réponses
7
Affichages
654
Retour