Masquer des lignes et des colonnes dans un fichier

Fermé
roukili Messages postés 17 Date d'inscription vendredi 5 juin 2015 Statut Membre Dernière intervention 6 juillet 2015 - Modifié par pijaku le 8/06/2015 à 10:04
 roukili - 8 juin 2015 à 09:27
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
5 juin 2015 à 16:13
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 vendredi 5 juin 2015 Statut Membre Dernière intervention 6 juillet 2015
5 juin 2015 à 16:24
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
Modifié par Patrice33740 le 5/06/2015 à 16:33
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 vendredi 5 juin 2015 Statut Membre Dernière intervention 6 juillet 2015 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
5 juin 2015 à 16:35
j'ai essayé mais cela ne marche pas je crois que y a un petit souci
cordialement
Reda
0
roukili > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié par pijaku le 8/06/2015 à 10:04
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
5 juin 2015 à 16:38
j'ai essayé mais cela ne marche pas !!!! Mais encore ???
0