Masquer des lignes vides avec formule

[Résolu/Fermé]
Signaler
Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017
-
Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017
-
Bonjour,

Tout d'abord merci à ceux qui consacreront du temps à m'aider.

Voila, je dois faire un support d'Audit.
Sur la feuille 1, j'ai une liste de points à vérifier et au bout 2 colonnes OK ou KO. (grace à CCM j'ai même trouvé un macro qui permet de mettre un X avec un double click...géniale!!!)
Sur la feuille 2, je veux faire un bilan avec uniquement les points KO. J'ai donc mis une formule =SI(AUDIT!K53="X";AUDIT!B53;"")
Jusque là je suis contente, seules mes points KO apparaissent sur ma feuille 2.

Par contre j'ai des lignes vides pour les point OK, normale je lui ai demandé justement de ne pas les faire apparaître.
Je recherche donc un moyen de faire disparaître automatiquement (au pire avec un bouton, je sais a peut prés faire) toutes mes lignes vides afin que l'utilisateur n'ai plus qu'a imprimer la feuille 2 avec uniquement ses éléments KO.

Mon niveau en VBA se limite à copier/coller les codes VBA que je trouve sur Internet...Et encore je les mets dans worksheet, je n'ai pas bien compris le reste. J'en ai donc trouvé mais les macros font toutes disparaître l'ensemble de mes lignes sans doute à cause de la formule...qui finalement est présente dans toutes mes cellules.
Malheureusement mes compétences s'arrêtent là.

J'ai aussi essayé un filtre, ça fonctionne, mais la solution nécessite une manip et ça va être compliqué pour les utilisateurs de mon tableau. J'aurais aimé...de la magie :-D

Pensez-vous que ce que je veux faire est possible? Comment feriez vous?

Merci beaucoup de votre aide dans tous les cas.

Wikimel

A voir également:

7 réponses

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
538
Bonjour,

Au vu de ton classeur, la solution de la macro qui masque les lignes vides est la plus facile à mettre en oeuvre.
https://www.cjoint.com/c/EGgpYALk1qT

Tu peux lancer la macro avec le raccourci ctrl + m

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
538
Aucun problème, tu peux lancer la macro avec un bouton de commande.

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
538
Il suffit d'ajouter l'instruction .Activate en fin de procédure :
Sub Masquer_Lignes_Vides()
Dim Cel As Range
Application.ScreenUpdating = False
With Worksheets("BILAN")
For Each Cel In .Range("B1:B" & .Range("B" & Rows.Count).End(xlUp).Row)
If Cel = "" Then
Cel.EntireRow.Hidden = True
Else
Cel.EntireRow.Hidden = False
End If
Next Cel
.Activate
End With
Application.ScreenUpdating = True
End Sub

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017

Wouaw c'est géniale!!!

Merci mille fois.

Il faut vraiment que j'apprenne à faire ça!!! Super
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
538
Bonjour,

Tu dois pouvoir utiliser un filtre avancé qui te permettra d'obtenir directement la liste sans vide suivant le critère "X" de la colonne AUDIT!K.

Pour aller plus loin, il faudrait que tu joignes un classeur exemple avec quelques lignes de données et des explications sur le résultat attendu .

Pour joindre le fichier, tu peux utiliser https://www.cjoint.com/
Ensuite, reviens coller ici le lien donné par le site.

A+
Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017

Merci.

J'ai mis un filtre et décoché la ligne "Vide".
Sur le principe ça fonctionne. Le problème c'est que si l'utilisateur revient sur la feuille "Audit" et fait une modif, elle n'est pas prise en compte "automatiquement" sur la feuille Bilan.

Voici mon fichier:
http://www.cjoint.com/c/EGgoVayw4iN

Dans tous les cas merci d'avoir pris le temps de regarder.
Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017

Bonsoir,

J'ai regardé votre travail. J'obtiens effectivement l'effet voulu c'est parfait merci beaucoup.

Je vais être embêtante mais est ce obligatoire de faire ctrl+m?

Sinon je peux créer un bouton en bas de mon audit pour activer votre macro?

Merci.
Messages postés
23
Date d'inscription
dimanche 5 juillet 2015
Statut
Membre
Dernière intervention
3 janvier 2017

Grace à vous j'avance à grand pas!!!

Une fois que l'utilisateur aura répondu il pourra cliquer sur le bouton et votre macro va s'activer. (ça c'est de la jolie magie, j'adore ;-)

Voila ce que ça donne-presque fini-.

http://www.cjoint.com/c/EGgtXQV3ETP

Je vais encore abuser...peut-on attribuer 2 macros à mon bouton? Est ce possible qu'en cliquant sur ce bouton, non seulement votre macro s'active et en plus on passe sur la feuille bilan.

J'ai bricolé ça comme code mais je ne sais pas bien comment l'utiliser...ni même s'il est bon.

Sheets("bilan").select
userform1.hide

Merci infiniment.