Masquer des cellules automatiquement
steph
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 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
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Verrouiller des cellules excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Automatiquement - Guide
- Masquer conversation whatsapp - 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