Masquer lignes et/ou colonnes

  • Initiateur de la discussion Christian
  • Date de début
C

Christian

Guest
Bonjour à tous,

Je remercie Thierry qui a apporté il y a quelques jours un début de réponse à mon problème. Sa macro fonctionne bien mais ne me permet pas d'exécuter en totalité les tâches car je me suis rendu compte que j'avais oublié des conditions.

Pouvez-vous m'aider à écrire (car je suis un débutant) les 2 macros qui me permettront d'effectuer sur 2 feuilles différentes les opérations suivantes :

1/ Feuille 1 - Masquer les lignes :
lorsque les colonnes 2 à 5 sont vides ou nulles
et
lorsque les colonnes 10 à 18 sont vides ou nulles

1/ Feuille 2 - Masquer les colonnes:
lorsque les lignes 2 à 21 sont vides ou nulles
et
lorsque les lignes 25 à 60 sont vides ou nulles

Merci d'avance de votre aide.
 

Pièces jointes

  • Essai_Masquer_Lignes.xls
    25 KB · Affichages: 87
M

Mytå

Guest
Salut Christian et le forum

Pour - Masquer les lignes :
lorsque les colonnes 2 à 5 sont vides ou nulles et
lorsque les colonnes 10 à 18 sont vides ou nulles


Option Explicit
Sub masquer_ligne()
Dim valeur As Range, vide As String, c As Byte
For Each valeur In Range("A7:R22")
If (valeur.Column > 1 And valeur.Column < 6) _
Or (valeur.Column > 9) Then
If valeur = vide Or valeur = 0 Then c = c + 1
If valeur.Column = 18 And c = 13 Then
Rows("" & valeur.Row & ":" & valeur.Row & "").EntireRow.Hidden = True
End If
End If
If valeur.Column = 18 Then c = 0
Next
End Sub

Mytå
 
M

Mytå

Guest
Re le forum

Christian pour ta deuxieme question faudra avoir plus de details (Nbre de colonne a cacher)

Car un petit probleme de plus soit :

'Faudrait savoir le nombre de colonnes
'Car pour cacher une colonne plus des chiffres
'Possibilité jusqu'a la colonne "Z" avec A$=chr(valeur.Column + 64)

Columns("" & A$ & ":" & A$ & "").EntireColumn.Hidden = True

A suivre n'ayant pas l'exemple de ta feuille 2

Mytå
 
C

Christian

Guest
Pour préciser ma question tu trouveras en pièce jointe le fichier exemple que je souhaite utiliser.
Sur certaines feuilles je souhaite pouvoir masquer à l'aide de la macro certaines colonnes lorque certaines lignes sont vides ou nulles.
Feuille - Masquer les colonnes D à AJ :
lorsque les lignes 2 à 21 sont vides ou nulles
et
lorsque les lignes 25 à 60 sont vides ou nulles
Merci ton aide précieuse.
 

Pièces jointes

  • MasquerColonnes.xls
    48 KB · Affichages: 62
M

Mytå

Guest
Re le forum

Voila ta deuxieme macro Christian

Option Explicit
Sub masquer_ligne()
Dim valeur As Range, vide As String, c As Byte
Dim i As Byte
For Each valeur In Range("D2:AJ2")
c = 0
If valeur = vide Or valeur = 0 Then
For i = 2 To 21
If Cells(i, valeur.Column) = vide Or Cells(i, valeur.Column) = 0 Then
c = c + 1
End If
Next i
For i = 25 To 60
If Cells(i, valeur.Column) = vide Or Cells(i, valeur.Column) = 0 Then
c = c + 1
End If
Next i
End If
If valeur.Column < 27 And c = 56 Then
Columns("" & Chr$(64 + valeur.Column) & ":" & Chr$(64 + valeur.Column) & "").EntireColumn.Hidden = True
End If
If valeur.Column > 26 And c = 56 Then
Columns("A" & Chr$(38 + valeur.Column) & ":A" & Chr$(38 + valeur.Column) & "").EntireColumn.Hidden = True
End If
Next
End Sub

Mytå
 

Discussions similaires

Statistiques des forums

Discussions
314 017
Messages
2 104 581
Membres
109 081
dernier inscrit
Vio21