masquer ligne à 0 avec vba

VINCEGR

XLDnaute Occasionnel
bonjour le forum,

je fais appel a vous pour une procédure sur une feuille excel,
je complète les données suivant un ordre et je me retrouve avec bcp de lignes à "0" en colonne "F".
je souhaiterais avoir une macro qui me masque ou me supprime toutes les lignes = 0 a partir de ma ligne 16 jusqu'a ma ligne 600 de ma feuille excel.

merci pour votre aide
 
Dernière édition:

Benjy

XLDnaute Occasionnel
Re : masquer ligne à 0 avec vba

Bonjour, peut être comme ceci :
Code:
Private Sub CommandButton1_Click()
For i = 16 To 600
If Cells(i, 6) = "" Then
Rows(i & ":" & 6).Select
Selection.EntireRow.Hidden = TRUE
end if
Next i

end sub
 
Dernière édition:

Benjy

XLDnaute Occasionnel
Re : masquer ligne à 0 avec vba

Edit : Je viens de dire une betise.

Edit 2 : test peut être car la ligne précédente ne veut rien dire en fait.
Code:
Private Sub CommandButton1_Click()
For i = 16 To 600
If Cells(i, 6) = "" Then
Rows(i & ":" & [COLOR="Red"]i[/COLOR]).Select
Selection.EntireRow.Hidden = TRUE
end if
Next i

end sub
 
Dernière édition:

Benjy

XLDnaute Occasionnel
Re : masquer ligne à 0 avec vba

Oui voir mon post #4. Excuse moi j'ai été trop vite.
Pour les remettre conserve le code tel quel et change la ligne
Selection.EntireRow.Hidden = TRUE
par
Selection.EntireRow.Hidden = FALSE

Puis réfere toi à mon dernier post.
 

Benjy

XLDnaute Occasionnel
Re : masquer ligne à 0 avec vba

Le code correct est :

Code:
Private Sub CommandButton1_Click()
For i = 16 To 600
If Cells(i, 6) = "" Then
Rows(i & ":" & [COLOR="Red"]i[/COLOR]).Select
Selection.EntireRow.Hidden = TRUE
end if
Next i

end sub

La valeur en rouge est a modifier par rapport à mon premier post.
Bien sur sa suppose que tu à réafficher les lignes.
 

ROGER2327

XLDnaute Barbatruc
Re : masquer ligne à 0 avec vba

Bonjour à tous
Le premier code proposé fonctionne aussi chez moi.
En voici un autre un peu différent :
Code:
[COLOR="DarkSlateGray"][B]Private Sub CommandButton1_Click()
Dim i
   Application.ScreenUpdating = False
   For i = 16 To 600
      If Not IsEmpty(Cells(i, 6)) And Cells(i, 6) = 0 Then
         Rows(i).EntireRow.Hidden = True
      End If
   Next i
   Application.ScreenUpdating = True
End Sub[/B][/COLOR]
ROGER2327
#3754


Lundi 9 Gidouille 137 (Sainte Outre, psychiatre, SQ)
5 Messidor An CCXVIII
2010-W25-3T10:01:27Z
 

ROGER2327

XLDnaute Barbatruc
Re : masquer ligne à 0 avec vba

Re...
J'ai un vilain doute à présent...
Quelle différence entre ces deux lignes ? :
Rows(i & ":" & i).Select
et
Rows(i & ":" & 6).Select

Et est-ce équivalent a :
Rows(i).select ?
Première question : Rows(i & ":" & i).Select sélectionne la ligne i.
Rows(i & ":" & 6).Select sélectionne les lignes de i à 6

Deuxième question : Rows(i).Select fait la même chose que Rows(i & ":" & i).Select.​
ROGER2327
#3756


Lundi 9 Gidouille 137 (Sainte Outre, psychiatre, SQ)
5 Messidor An CCXVIII
2010-W25-3T10:16:23Z
 

Alyrio

XLDnaute Nouveau
Re : masquer ligne à 0 avec vba

Bonjour a tous, le fil, le forum

J'ai un vilain doute à présent...
Quelle différence entre ces deux lignes ? :
Rows(i & ":" & i).Select
et
Rows(i & ":" & 6).Select

Et est-ce équivalent a :
Rows(i).select ?

il me semble que Rows(i & ":" & i).Select est pareil que Rows(i).Select et veut dire sélection de la ligne i.

Par contre Rows(i & ":" & 6).Select signifie sélection des lignes i à 6.

Au plaisir.

Merci Roger2327 pour ta réponse ta été plus rapide :D
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
792
Réponses
7
Affichages
374
Réponses
2
Affichages
156

Statistiques des forums

Discussions
312 330
Messages
2 087 347
Membres
103 525
dernier inscrit
gbaipc