Masquer des lignes et des colonnes dans un fichier

roukili Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
 roukili -
j'ai un fichier Excel qui contient des données et je souhaite masquer les lignes et les colonnes qui ne contiennent pas une chaine de caractères; "DE" par exemple
j'ai essayé ce code mais il ne fonctionne pas car il prend en compte seulement une seule colonne:

Private Sub CommandButton1_Click()
    
       Cells.EntireRow.Hidden = False

        For L = 18 To Range("Feuil15" & Rows.Count).End(xlUp).Row

          If Range("BM" & L).Value = "DQ Russie" Then

             Rows(L).EntireRow.Hidden = False

          Else

            Rows(L).EntireRow.Hidden = True

        End If

Next
End Sub

je vous remercie d'avance pour votre aide merci
A voir également:

1 réponse

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Essaies :
Sub test()
Dim src As Range
Dim dst As Range
Dim cel As Range

  Cells.EntireRow.Hidden = False
  Set src = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)
  For Each cel In src.Cells
    If cel.Value Like "*DE*" Then
      If dst Is Nothing Then Set dst = cel Else Set dst = Union(dst, cel)
    End If
  Next cel
  If Not dst Is Nothing Then dst.EntireRow.Hidden = True

End Sub
0
roukili Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
en fait le soucis c'est que je cherche ma chaine de caractère seulement sur une plage de cellules et non pas tout le classeur et je vois pas comment faire; par exemple de la ligne 18 à la ligne 30 et de la colonne D à la colonne DE
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

Désolé, j'ai été un peu trop vite, je n'avais pas vu « qui ne contiennent pas »
Remplaces :
 If Not dst Is Nothing Then dst.EntireRow.Hidden = True

par:
 If Not dst Is Nothing Then
    Cells.EntireRow.Hidden = True
    dst.EntireRow.Hidden = False
  End If


Et si tu veux tester uniquement une plage remplaces Cells dans :
Set src = Cells.SpecialCells(xlCellTypeConstants, xlTextValues)

par la plage à tester, par exemple par :
Set src = Range("B18:F51").SpecialCells(xlCellTypeConstants, xlTextValues)

Cordialement
Patrice
0
roukili Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai essayé mais cela ne marche pas je crois que y a un petit souci
cordialement
Reda
0
roukili > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai un problème au niveau de ce code d'après le programme
If Not dst Is Nothing Then
    Cells.EntireRow.Hidden = True
    dst.EntireRow.Hidden = False
 End If
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
j'ai essayé mais cela ne marche pas !!!! Mais encore ???
0