Masquer certaines lignes à l'ouverture d'un fichier

  • Initiateur de la discussion Initiateur de la discussion Tophe2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tophe2

XLDnaute Impliqué
Bonjour le forum,

Voilà j'ai un fichier qui reprend les données présentes dans de nombreux fichiers (par liaison, très lourd) plus de 1000 lignes et 700 colonnes environs.

En pièce jointe un tout petit exemple du fichier sans liaison. Comment faire pour qu'à l'ouverture on puisse masquer les lignes si en colonne A il est noté "Salarie1 ou Salarie2 ..." et au contraire si un nom est présent on laisse afficher.

Merci
Bonne Journée
Cordialement.
Christophe.
 

Pièces jointes

Re : Masquer certaines lignes à l'ouverture d'un fichier

Bonjour

à tester dans un module standard

Code:
Option Compare Text

Sub Cacheligne()
Dim DerLig As Long, i As Integer
DerLig = Range("A65530").End(xlUp).Row
For i = DerLig To 2 Step -1
   If Cells(i, 1).Value = "salarie1" Or Cells(i, 1).Value = "salarie2" Then _
   Range(Rows(i).Address & ":" & Rows(i).Offset(2, 0).Address).RowHeight = 0
Next i
End Sub

et dans le ThisWorkBook

Code:
Private Sub Workbook_Open()
Cacheligne
End Sub

Attention! les cellules fusionnées peuvent provoquer des erreurs
Bonne journée
 

Pièces jointes

Dernière édition:
Re : Masquer certaines lignes à l'ouverture d'un fichier

Bonjour DL_13

Effectivement cela fonctionne, j'ai oublié de dire que je peux avoir jusqu'à 20 Salariés par fichier excel.
Est il possible d'avoir si la cellule contient "salarie" ou "Salar" alors on masque j'ai essayé en modifiant ton écriture dans ce sens mais cela ne fonctionne pas.
Merci encore pour ton aide
Christophe
 
Re : Masquer certaines lignes à l'ouverture d'un fichier

Re

Remplace cette ligne de code

Code:
If Cells(i, 1).Value = "salarie1" Or Cells(i, 1).Value = "salarie2" Then _
   Range(Rows(i).Address & ":" & Rows(i).Offset(2, 0).Address).RowHeight = 0

par celle ci

Code:
If Cells(i, 1).Value Like "salarie*" Then Range(Rows(i).Address & ":" & Rows(i).Offset(2, 0).Address).RowHeight = 0

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
Réponses
10
Affichages
1 K
Brahim077
B
P
Réponses
1
Affichages
1 K
P
C
Réponses
18
Affichages
6 K
capoiri1
C
C
Réponses
12
Affichages
2 K
Y
Réponses
2
Affichages
1 K
ynx69
Y
Y
Réponses
37
Affichages
24 K
C
Réponses
5
Affichages
4 K
chikchik
C
V
Réponses
3
Affichages
1 K
villette54
V
Retour