Masquer des cellules automatiquement
steph
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Je suis bloque sur quelque chose de tres simple, j'ai besoin de votre aide. Dans la colonne F de mon classeur, j'ai des donnees par exemple de la ligne 13 a 25, puis la case 26 vide, puis des donnees a nouveau etc.
Je souhaite simplement parcourir la colonne F et masquer toutes les lignes pour lesquelles la cellule est non-vide. Seulement si je fais ca ligne par ligne, etant donne qu'il y en a 10 000, la macro est longue et fait planter mon ordi.
Donc j'ai ecrit le texte ci-dessous mais il ne marche pas:
Sub hiderows()
For k = 11 To Worksheets("Output").[C1048576].End(xlUp).Row
If ActiveSheet.Range("F" & k) <> Empty Then
With Worksheets("Output")
j = k
CelDep = j
CelFin = .Columns("F").Find("", .Cells(CelDep, "F"), , xlPart).Row
ActiveSheet.Range("F" & j & ":" & "F" & CelFin).Select
End With
Selection.EntireRow.Hidden = True
End If
Next k
End Sub
Pourriez-vous m'aider a comprendre ce qui ne va pas ?
Merci mille fois !
Je suis bloque sur quelque chose de tres simple, j'ai besoin de votre aide. Dans la colonne F de mon classeur, j'ai des donnees par exemple de la ligne 13 a 25, puis la case 26 vide, puis des donnees a nouveau etc.
Je souhaite simplement parcourir la colonne F et masquer toutes les lignes pour lesquelles la cellule est non-vide. Seulement si je fais ca ligne par ligne, etant donne qu'il y en a 10 000, la macro est longue et fait planter mon ordi.
Donc j'ai ecrit le texte ci-dessous mais il ne marche pas:
Sub hiderows()
For k = 11 To Worksheets("Output").[C1048576].End(xlUp).Row
If ActiveSheet.Range("F" & k) <> Empty Then
With Worksheets("Output")
j = k
CelDep = j
CelFin = .Columns("F").Find("", .Cells(CelDep, "F"), , xlPart).Row
ActiveSheet.Range("F" & j & ":" & "F" & CelFin).Select
End With
Selection.EntireRow.Hidden = True
End If
Next k
End Sub
Pourriez-vous m'aider a comprendre ce qui ne va pas ?
Merci mille fois !
A voir également:
- Masquer des cellules automatiquement
- Verrouiller des cellules excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Excel additionner plusieurs cellules - Guide
- Masquer conversation whatsapp - Guide
- Comment appeler en masquer - Guide
1 réponse
Bonjour,
'Code inspire du code a Jacques33
'http://forum.excel-pratique.com/excel/selection-de-cellules-non-vides-t28649.html
Bonne suite
'Code inspire du code a Jacques33
'http://forum.excel-pratique.com/excel/selection-de-cellules-non-vides-t28649.html
Sub hiddenrows()
Dim P1 As Range
Dim P2 As Range
On Error Resume Next
With Worksheets("Output")
'derniere ligne colonne F
derlig = Range("F" & Rows.Count).End(xlUp).Row
'Defintions plages cellules nonvides type constantes et formules (si besoin)
Set P1 = .Range("F11:F" & derlig).SpecialCells(xlCellTypeConstants, derlig)
Set P2 = .Range("F11:F" & derlig).SpecialCells(xlCellTypeFormulas, derlig)
On Error GoTo 0
If Not P1 Is Nothing And Not P2 Is Nothing Then
'masque le lignes dont les cellules F contiennent des constantes ou des fomules
Union(P1, P2).EntireRow.Hidden = True
ElseIf Not P1 Is Nothing Then
'masque le lignes dont les cellules F contiennent des constantes
P1.EntireRow.Hidden = True
ElseIf Not P2 Is Nothing Then
'masque le lignes dont les cellules F contiennent des fomules
P2.EntireRow.Hidden = True
End If
End With
End Sub
Bonne suite