Macro masque ligne si cellule vide sur l'ensemble des onglets
Résolu
OlivGFT
Messages postés
24
Statut
Membre
-
OlivGFT Messages postés 24 Statut Membre -
OlivGFT Messages postés 24 Statut Membre -
Bonjour,
Je souhaite crée une macro qui masque mes lignes si mes cellules sont vide.
Je souhaite également que cette macro fonctionne pour l'ensemble de mes onglets.
le but étant de crée un bouton " Hide" qui ferait fonctionner la macro pour l'ensemble de mes onglets.
Voici la macro que j'ai trouvé sur ce forum qui fonctionne tres bien :
Sub hide()
Range("C10:C129").Select 'C10:C129 correspond a ta plage de cellule que tu souhaite verifier
For Each o In Selection
If o.Value = "" Then
o.EntireRow.Hidden = True
End If
Next
End Sub
Au risque de me répéter cette macro ne fonctionne que si je selectionne 1 onglet. Je souhaite qu'elle marche pour l'ensemble de mes onglets ( quelque soit le nom de l'onglet) sauf les 3 premier onglet.
cela est t'il possible ?
Merci beaucoup pour votre aide !
Je souhaite crée une macro qui masque mes lignes si mes cellules sont vide.
Je souhaite également que cette macro fonctionne pour l'ensemble de mes onglets.
le but étant de crée un bouton " Hide" qui ferait fonctionner la macro pour l'ensemble de mes onglets.
Voici la macro que j'ai trouvé sur ce forum qui fonctionne tres bien :
Sub hide()
Range("C10:C129").Select 'C10:C129 correspond a ta plage de cellule que tu souhaite verifier
For Each o In Selection
If o.Value = "" Then
o.EntireRow.Hidden = True
End If
Next
End Sub
Au risque de me répéter cette macro ne fonctionne que si je selectionne 1 onglet. Je souhaite qu'elle marche pour l'ensemble de mes onglets ( quelque soit le nom de l'onglet) sauf les 3 premier onglet.
cela est t'il possible ?
Merci beaucoup pour votre aide !
A voir également:
- Macro masque ligne si cellule vide sur l'ensemble des onglets
- Partager des photos en ligne - Guide
- Numero masque - Guide
- Comment supprimer une page vide sur word - Guide
- Excel cellule couleur si condition texte - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
3 réponses
Bonjour,
essaye..
A+
essaye..
Sub CacheLigne()
Dim TB, i As Integer, Cel As Range, B As Boolean
Dim Wkb As Worksheet
'Le nom des feuilles qu'il ne faut pas traiter
TB = Array("Feuil1", "Feuil2", "Feuil3")
For Each Wkb In Worksheets
B = False
For i = 0 To 2
If Wkb.Name = TB(i) Then B = True: Exit For
Next i
If Not B Then
For Each Cel In Wkb.Range("C10:C" & Range("C" & Rows.Count).End(xlUp).Row)
If Cel.Value = "" Then
Cel.EntireRow.Hidden = True
End If
Next Cel
End If
Next Wkb
End Sub
A+
Bonjour,
excusez l'incruste :o)
On peut éviter une boucle pour cacher les cellules vides dans la colonne c
remarque:
1/le repérage de la dernière ligne est sur la colonne A (supposée être la colonne de référence) car si la ou les dernières de la colonne C sont vides, ces lignes ne seront pas cachées...
2/ le "error resume next" est nécessaire pour éviter un blocage sur erreur si il n'y a aucune cellule vide
Michel
excusez l'incruste :o)
On peut éviter une boucle pour cacher les cellules vides dans la colonne c
Derlig = Columns("A").Find("*", , , , , xlPrevious).Row
On Error Resume Next
Range("C2:C" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
remarque:
1/le repérage de la dernière ligne est sur la colonne A (supposée être la colonne de référence) car si la ou les dernières de la colonne C sont vides, ces lignes ne seront pas cachées...
2/ le "error resume next" est nécessaire pour éviter un blocage sur erreur si il n'y a aucune cellule vide
Michel