Supprimer deux lignes et une ligne
Fabrice.GAC77
Messages postés
2
Statut
Membre
-
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutant en VBA ce code fonctionne sur une feuille simple
J'ai 50 groupes de trois lignes de saisies. Je souhaiterais masquer par une macro à partir de la ligne 1, la ligne 2 et la ligne 3.La seconde macro à partir de la ligne 1 masquer uniquement la 2.
Merci pour votre dévouement.
Je suis débutant en VBA ce code fonctionne sur une feuille simple
Sub Ligne2()
'
' Ligne Macro
'
'Cache les lignes de 2 à 10 de 2 en 2
'j=1 veut dire à partir de la ligne 1
'Step 3 Toutes les 2 lignes abc donnera ab
Dim j As Integer
For j = 1 To 23 Step 3
Rows(1 + j + 1).Select
Selection.EntireRow.Hidden = True
Next
End Sub
J'ai 50 groupes de trois lignes de saisies. Je souhaiterais masquer par une macro à partir de la ligne 1, la ligne 2 et la ligne 3.La seconde macro à partir de la ligne 1 masquer uniquement la 2.
Merci pour votre dévouement.
A voir également:
- Supprimer deux lignes et une ligne
- Supprimer rond bleu whatsapp - Guide
- Partager photos en ligne - Guide
- Supprimer une page word - Guide
- Mètre en ligne - Guide
- Formulaire en ligne de meta - Guide
1 réponse
Bonjour
Cdlmnt
Option Explicit
Const lideb = 1
' supprime à partir de lideb+1, deux lignes toutes les trois lignes
Public Sub SuppLignes23()
Dim li As Long, lifin As Long
With ActiveSheet
lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
For li = lideb To lifin
If (li - 1) Mod 3 <> 0 Then Rows(li).Hidden = True
Next li
End With
End Sub
' supprime à partir de lideb+1, une lignes toutes les 3 lignes
Public Sub SuppLignes2()
Dim li As Long, lifin As Long
With ActiveSheet
lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
For li = lideb To lifin
If li Mod 3 = 2 Then Rows(li).Hidden = True
Next li
End With
End Sub
Public Sub RAZ()
Dim lifin As Long
With ActiveSheet
lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
Rows(lideb & ":" & lifin).Hidden = False
End With
End Sub
Cdlmnt
Je voudrais utiliser 2 boutons CheckBox1_Click()
A partir de la huitième ligne
Je veux garder la première ligne, masquer les deux lignes du dessous, et ceci jusqu’à la fin de mon tableau qui s’arrête à la ligne 170
Deuxième CheckBox2_Click()
Je veux garder les deux premières lignes, masquer la troisième.
Pardon pour mon manque de clarté.
Merci encore.:-)
Avec le code de ccm81, code a mettre dans VBA de la feuille des CheckBox
Si Check1 cochee et coche 2, decoche 1 et inversement
Deux Check decochees apres une cochee, RAZ-->toutes les lignes apparaissent
Option Explicit Const lideb = 1 ' supprime à partir de lideb+1, une lignes toutes les 3 lignes Private Sub CheckBox1_Click() Dim li As Long, lifin As Long Application.ScreenUpdating = False If Not CheckBox1 And Not CheckBox2 Then Call RAZ: Exit Sub If CheckBox1 Then CheckBox2.Value = 0 With ActiveSheet Call RAZ lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row For li = lideb To lifin If li Mod 3 = 2 Then Rows(li).Hidden = True Next li End With Application.ScreenUpdating = True End Sub ' supprime à partir de lideb+1, deux lignes toutes les trois lignes Private Sub CheckBox2_Click() Dim li As Long, lifin As Long Application.ScreenUpdating = False If Not CheckBox2 And Not CheckBox1 Then Call RAZ: Exit Sub If CheckBox2 Then CheckBox1.Value = 0 With ActiveSheet Call RAZ lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row For li = lideb To lifin If (li - 1) Mod 3 <> 0 Then Rows(li).Hidden = True Next li End With Application.ScreenUpdating = True End Sub Public Sub RAZ() Dim lifin As Long With ActiveSheet lifin = .Cells.Find("*", , , , xlByRows, xlPrevious).Row Rows(lideb & ":" & lifin).Hidden = False End With End Sub