Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code VBA copier differentes feuilles existantes sur un autre avec incrémentation

  • Initiateur de la discussion Initiateur de la discussion Zougoulou
  • 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 !

Zougoulou

XLDnaute Nouveau
Bonjour,

Je suis stagiaire et j'ai une analyse a réalisé qui demande a mon sens beaucoup de ressources en bureautique, si bien que je me trouve dans une impasse. Cependant, ce ne sont que mes premières utilisations de VBA sachant que je n'ai vu que les boucles for next à l'école. Si vous avez des livres à me conseiller, je suis preneur (j'hésite à mettre une trentaine d'euros dans un livre qui risque de ne m'être utile que partiellement).
Je suis malheureusement bloqué par mon manque de connaissances en développement VBA. La maitrise de ce dernier étant indispensable au rendu final de mon projet.

Mon problème :

Je souhaite copier dans un même classeur, sur une feuille, les données de plusieurs autres feuilles. Les feuilles sources sont pour la plupart présentes dans le classeur, mais il est très possible que des feuilles viennent s'y ajouter. Il est donc préférable que le contenu de ces feuilles soit pris en compte automatiquement.

Bien sûre, les données copiées de chaque feuille se suivraient par ordre chronologique dans la feuille cible (chaque feuille portant dans son nom la date d'extraction des données "20120524" par exemple), les données de la seconde feuille se copieront donc à la suite des données de la première.

Je vous joint mon fichier pour une meilleure compréhension.

Donc je veux copier les données contenues dans les feuilles dont le nom commence par "11480_date des données" dans la feuille récap. Les feuilles qui s'ajouteront au classeur utiliseront la même nomenclature que celles déjà présentes.

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Code VBA copier differentes feuilles existantes sur un autre avec incrémentation

Salut Magic System ... heu Zougoulou 😉

Tu peux utiliser un code du style
VB:
Sub CopieFeuille()
  Dim LigDeb As Long, DLigS As Long, NLigD As Long
  Dim FlgFirst As Boolean, Sht As Worksheet
  ' Flag de la première feuille copier à FAUX
  FlgFirst = False
  ' Avec la feuille de récap
  With Sheets("récap")
    ' Effacer le contenu de toutes les cellules
    .Cells.ClearContents
    ' Pour chaque feuille du classeur
    For Each Sht In ThisWorkbook.Worksheets
      ' Si le nom n'appartient pas à la liste entre guillemets
      If InStr(1, "Graph2 récap", Sht.Name) = 0 Then
        ' Selon s'il s'agit de la première copie ou non
        If FlgFirst = False Then LigDeb = 1 Else LigDeb = 2
        ' Dernière ligne de la feuille source
        DLigS = Sht.Range("A" & Rows.Count).End(xlUp).Row
        ' Prochaine ligne de la feuille destination
        NLigD = .Range("A" & Rows.Count).End(xlUp).Row + Abs(FlgFirst = True)
        ' Copier / coller les cellules
        Sht.Range("A" & LigDeb & ":K" & DLigS).Copy
        .Range("A" & NLigD).PasteSpecial Paste:=xlPasteValues
        ' Changer le Flag la première fois
        If FlgFirst = False Then FlgFirst = True
      End If
    Next Sht
  End With
End Sub

A tester

A+
 
Re : Code VBA copier differentes feuilles existantes sur un autre avec incrémentation

Bonjour BrunoM45,

Merci pour ton code qui après essai, semble fonctionner.

En relisant ton code, je crois comprendre qu'il est censé prendre en charge toutes les feuilles qui ont un autre nom que récap et graph2.

Il marche impeccable mais dans un soucis d'apprentissage j'aimerais savoir pourquoi tu y a inscris cette ligne :

' Effacer le contenu de toutes les cellules
.Cells.ClearContents
 
Re : Code VBA copier differentes feuilles existantes sur un autre avec incrémentation

Re,

J'ai écris cette ligne pour remettre à zéro (vider) la feuille de récape 😉

Sinon tu aurais un cumul à chaque fois et des anomalies

A+
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…