VBA Masquer la ligne si toutes les cases à partir de la colonne D sont vides.

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

fabancel

XLDnaute Junior
Bonjour.

Je fais mes premiers pas en VBA et je sèche sur une macro pour masquer les lignes qui sont vides seulement à partir de la colonne D.

Ma macro actuelle va rechercher sur la feuille "module interrogation" des données et va sur la feuille "feuil1" crée une nouvelle colonne pour les classer en face du libellé qui leur correspond (recherchev toute bête).

Elle continue en copiant-collant les valeurs de cette colonne pour la figer.

J'aimerai terminer en masquant les lignes vides. cependant, sur ce tableau, les colonnes A, B et C contiennent les libellés, ce qui rend la ligne non vide. Il faudrait donc que la macro masque les lignes pour lesquels les cases "D" à "X" sont vides.

Je n'arrive pas à trouver cette commande.

Un grand mercià ceux qui pourront m'aider
 

Pièces jointes

Re : VBA Masquer la ligne si toutes les cases à partir de la colonne D sont vides.

Bonjour Fabancel,

avec ce code à mettre dans un module:
Code:
Sub Masquer()
For i = 8 To Range("A65535").End(xlUp).Row
vide = ""
For j = 4 To 24
vide = vide + Cells(i, j)
Next j
If vide = "" Then Rows(i).EntireRow.Hidden = True
Next i
End Sub

à+
Philippe
 

Pièces jointes

Dernière édition:
Re : VBA Masquer la ligne si toutes les cases à partir de la colonne D sont vides.

Merci Philippe, ça fonctionne au top.


En revanche j'ai rien compris au code que tu as créé.

Si tu as deux minutes de plus, pourrais-tu m'expliquer s'il te plaît, histoire que je puisse l'étendre ou le réutiliser au besoin ?

Merci encore.
 
Re : VBA Masquer la ligne si toutes les cases à partir de la colonne D sont vides.

Re,
Merci Philippe, ça fonctionne au top.


En revanche j'ai rien compris au code que tu as créé.

Si tu as deux minutes de plus, pourrais-tu m'expliquer s'il te plaît, histoire que je puisse l'étendre ou le réutiliser au besoin ?

Merci encore.
avec un code encore plus court:
Code:
Sub Masquer()
Application.ScreenUpdating = False
For i = 8 To Range("A65535").End(xlUp).Row
If Application.CountIf(Range(Cells(i, 4), Cells(i, 24)), "") = 21 Then Rows(i).EntireRow.Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Explications:
For I = 8 To ............ de la ligne 8 à la dernière ligne non-vide de la colonne A
If Application.CountIf.................. si il y a 21 cellules vides dans la ligne (de la 4° à la 24° colonne) on masque la ligne

à+
Philippe
 
- 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

Retour