Fusion de feuilles choisies dans une autre feuille recap

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

  • ListePro.xls
    32 KB · Affichages: 95

PMO2

XLDnaute Accro
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
 

anber

XLDnaute Occasionnel
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

  • Fusion de feuilles recapV2.zip
    20.2 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
312 534
Messages
2 089 383
Membres
104 152
dernier inscrit
sabalex