Bonjour,

Je sollicite votre aide aujourd'hui pour une macro sur laquelle je bloque depuis qlq jours.

Voici le contexte : mon fichier de travail copie automatiquement une feuille d'un autre classeur Excel grâce à une macro. Une fois les données importées dans mon fichier, je souhaite rajouter qlq lignes de code afin de supprimer les lignes qui ne m'intéressent pas.
Ces lignes sont repérables par une colonne "statut" : le but est de supprimer toutes les lignes dont le statut est "Client". Pour ce faire, après qlq recherches sur le forum voici le code que j'ai écris :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 Public Sub Test()
 
    Dim XLSheet As Excel.Worksheet
    Dim FirstCell As Excel.Range
    Dim LastCell As Excel.Range
    Dim CellsDel As Excel.Range
    Dim i As Integer
    Dim XlApp As Excel.Application
    Dim XlWbk As Excel.Workbook
 
    Set XlApp = Application.Application
    Set XlWbk = XlApp.ActiveWorkbook
    Set XLSheet = XlWbk.Worksheets("Feuil1")
 
    XLSheet.Activate
 
    Set FirstCell = XLSheet.Cells(3, 1)
    Set LastCell = XLSheet.Cells(20, 5)
 
    For i = LastCell.Row To FirstCell.Row Step -1
        If Cells(i, 3).Text = "Client" Then
            If CellsDel Is Nothing Then
            Set CellsDel = XLSheet.Cells(i, 3)
            Else
            Set CellsDel = Union(CellsDel, XLSheet.Cells(i, 3))
            End If
        End If
    Next i
    CellsDel.EntireRow.Delete Shift:=xlUp
 
End Sub
Ce code semble fonctionner (il bug juste lorsqu’il n’y pas de document « Client »). Mon problème est qu'il y a également dans mon fichier des lignes de titres, repérables par le statut "_t". Je souhaite supprimer les titres en-dessous desquels toutes les lignes ont un statut « Client » (sinon je me retrouve avec une succession de titres superflus). Et là je ne m’en sors plus !

Merci d’avance pour votre aide

Pour plus de clarté voici un exemple simplifié des données que je souhaite traiter avec la macro :

Intitulé	Statut
titre1		_t
nom_doc		Autre
nom_doc		Client
nom_doc		Client/Autre
titre2		_t
titre2.1	_t
nom_doc		Client
nom_doc		Client
titre2.2	_t
nom_doc		Client/Autre
nom_doc		Client
titre3		_t
titre3.1	_t
nom_doc		Client
nom_doc		Client
titre3.2	_t
nom_doc		Client
Après traitement je voudrais obtenir ceci :

Intitulé	Statut
titre1		_t
nom_doc		Autre
nom_doc		Client/Autre
titre2		_t
titre2.2	_t
nom_doc		Client/Autre