Fusion de feuilles choisies dans une autre feuille recap

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

anber

XLDnaute Occasionnel
Bonsoir le forum,

Je recherche le code pour fusionner plusieurs feuilles dans une feuille Recap.
Jusqu'à présent je sais faire en prenant toutes les feuilles.
Maintenant il ne m'en faut que certaines, dans mon exemple toutes sauf les feuilles Archives. Et pour compliquer un peu plus, dans les feuilles je ne veux qu'une ligne sur deux.
Le tout renvoyer dans une feuille Recap, de façon à construire une base et de pouvoir envoyer par mail à la personne concerné (Qui dans Recap) que les lignes le concernant et mis en forme. Faut-il utiliser des feuilles temporaires ???

Voilà mon dilemme
J'espère avoir été claire

Merci par avance
 

Pièces jointes

Re : Fusion de feuilles choisies dans une autre feuille recap

Bonjour,

Une piste avec le code ci-dessous (adaptez les lignes comprises entre des ###)

Code:
'### A adapter ###
Const LIG_DEPART As Long = 13
'#################

Sub FusionFeuilles()
Dim Titres
Dim Exclus
Dim S As Worksheet
Dim S2 As Worksheet
Dim R As Range
Dim i&
Dim j&
Dim bool As Boolean
Dim dest&
'### A adapter (feuilles exclues, noms des titres) ###
Exclus = Array("Archive", "Recap", "Expo")
Titres = Array("Type", "Version", "Test", "Forme", "GGR", "FFR", "SSER", "Date", "Qui")
'#####################################################
dest& = 1
Set S = Sheets.Add(before:=Sheets(1))
For i& = 2 To ActiveWorkbook.Worksheets.Count - 1
  Set S2 = ActiveWorkbook.Worksheets(i&)
  bool = False
  For j& = LBound(Exclus) To UBound(Exclus)
    If LCase(Exclus(j&)) = LCase(Mid(S2.Name, 1, Len(Exclus(j&)))) Then
      bool = True
      Exit For
    End If
  Next j&
  If Not bool Then
    Set R = S2.Range(S2.Cells(LIG_DEPART, 1), _
      S2.Cells(S2.[a65536].End(xlUp).Row, UBound(Titres) + 1))
    R.Copy
    S.Paste Destination:=S.Range("a" & dest& & "")
    dest& = dest& + R.Rows.Count
  End If
Next i&
For i& = dest& - 1 To 1 Step -2
  S.Rows(i&).Delete
Next i&
S.Rows(1).Insert
S.Range(Cells(1, 1), Cells(1, UBound(Titres) + 1)) = Titres
End Sub

Cordialement.

PMO
Patrick Morange
 
Re : Fusion de feuilles choisies dans une autre feuille recap

Bonsoir PMO, le forum,

Merci pour ta réponse, j'ai adapté ton code.
A noté que dans le fichier réel j'ai des lignes vides, des cellules fusionnées, comment mettre en forme, j'ai essayé en enregistrant une macro, mais 50 lignes, pas trouvé de boucle efficace

Maintenant je souhaiterais passé à l'étape suivante et pouvoir envoyer par mail seulement les infos concernant le "Qui"

Encore merci
 

Pièces jointes

- 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

Retour