Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Afficher, masquer des ligne si vide.

  • Initiateur de la discussion Initiateur de la discussion roybaf
  • 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 !

roybaf

XLDnaute Occasionnel
Bonjour le forum!!

J'arrive à la fin d'un gros boulot sur excel, grâce à vous j'ai pu avancer brique par brique alors encore un grand merci à tous, je pense à dudule, pierrejean, bruno45 et beaucoup d'autres... Je pense que c'est bien de rappeler que l'on est reconnaissant.

Sinon, je finalise et j'aurai encore besoin de vos lumières.

J'alimente la première colonne d'un tableau par la recopie de la première colonne d'un autre tableau, pour ce faire j'utilise :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim l As Long
Application.ScreenUpdating = False
With Sheets("Salaire associé")
.Range("a11:a" & .Range("a65536").End(xlUp).Row).Clear
End With
With Sheets("ASSOCIES")
.Range(.Range("A7"), .Range("A7").End(xlDown)).Copy Destination:=Sheets("Salaire associé").Range("a11")
Application.ScreenUpdating = True
End With
End Sub

Le problème avec ce code c'est que lorsque je supprime une ligne sur le tableau source, la ligne crée se vide mais ne se supprime pas, vu que mon tableau est associé à un graphique sa me laisse des trous.

Donc j'ai résolu cela en cachant les lignes vides par ce code :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("Salaire associé")
Application.ScreenUpdating = False
For iii = 2 To Range("b65536").End(xlUp).Row
  If Cells(iii, 1) = "" Then Rows(iii).EntireRow.Hidden = True
Next iii
End With
Application.ScreenUpdating = True
End Sub

Cela fonctionne mais lorsque je rajoute une donnée dans le tableau source la ligne va bien se copiée dans le tableau de destination mais elle reste cachée,

Donc ma question comment ré affiché la ligne si elle n'est plus vide???

Merci d'avance pour vos réponses..
 
Re : Afficher, masquer des ligne si vide.

Bonjour roybaf ,Remplace
VB:
If Cells(iii, 5) = "" Then Rows(iii).EntireRow.Hidden = True
Par
VB:
Rows(iii).Hidden = Cells(iii, 5) = ""
Cordialement
 
Dernière édition:
Re : Afficher, masquer des ligne si vide.

bonjour merci pour ta réponse, j'ai procédé autrement.

J'ai mis un filtre auto, et macro filtreauto dans la worksheet_activate et c'est nikel.

Voilà mon code pour qui ça intéresse :
Code:
Private Sub worksheet_activate()

    ActiveSheet.ListObjects("Tableau6").Range.AutoFilter Field:=2, Criteria1:= _
        "<>"

End Sub

Merci quand même.
 
- 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

Réponses
5
Affichages
779
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
461
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…