Selection plusieurs cellules en langage VBA

Résolu/Fermé
lolau88 Messages postés 20 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 25 juillet 2018 - Modifié par crapoulou le 21/09/2016 à 12:03
lolau88 Messages postés 20 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 25 juillet 2018 - 17 oct. 2016 à 10:35
Bonjour,
je souhaite que toutes les cellules vides de certaines colonnes dans mon tableau Excel se masquent automatiquement. J'ai créé une macro mais ça ne fonctionne que si la première cellule de la colonne contient du texte, et moi je voudrais que les lignes disparaissent quand toutes les cellules sont vides, et pas seulement la première.
Quelqu'un aurait-il une solution à mon problème?
Merci bcp

Voici la macro :

For Each cel In Range("A3:A226")
If cel = "" Then
cel.EntireRow.Hidden = True
End If
Next



7 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 426
Modifié par crapoulou le 21/09/2016 à 12:04
Bonjour

Pour masquer les lignes dont toutes les cellules sont vides et ... pour les reafficher
Const lideb = 2

Public Sub masquer()
Dim li As Long, cofin As Long, lifin As Long
lifin = Cells.Find("*", , , , xlByRows, xlPrevious).Row
For li = lideb To lifin
  cofin = Cells(li, Columns.Count).End(xlToLeft).Column
  If cofin = 1 And Cells(li, 1) = "" Then Rows(li).EntireRow.Hidden = True
Next li
End Sub

Public Sub demasquer()
Dim lifin As Long
lifin = Cells.Find("*", , , , xlByRows, xlPrevious).Row
Rows(lideb & ":" & lifin).EntireRow.Hidden = False
End Sub


Cdlmnt
0
lolau88 Messages postés 20 Date d'inscription dimanche 15 décembre 2013 Statut Membre Dernière intervention 25 juillet 2018
21 sept. 2016 à 13:17
Merci ccm81
mais je débute vraiment en VBA et en copiant et collant ton code dans ma macro ça ne fonctionne pas.
En fait j'ai un bouton sur lequel j'appuie et les lignes concernées (en occurrence pour mon tableau cela concerne des groupes de cellules de A26 à O57, A64 à O154...) disparaissent lorsque les cellules y sont vides.
Merci d'avance pour tes explications.

cdlmnt
0