Suppression de lignes sans valeur

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

A

Arno

Guest
Bonjour,
je cherche une macro qui permette de masquer des lignes d'un tableau contenant des formules. Il faudrait masquer les lignes ne contenant pas de valeurs ''.
Merci pour votre aide
 
Salut Arno
Bonjour Thomas®

Ne pas oublier de placer dans les procèdures les Fameux !!!!

(comme dirait un des maîtres de ce forum pour le confort des Yeux)
comme ci dessous:
Sub thomas()
Application.ScreenUpdating = False...en tête de procèdure

For i = 4 To Sheets(1).Range('A65000').End(xlUp).Row

If Sheets(1).Range('E' & i) = '' Then

Rows(i).EntireRow.Hidden = True 'ici on peut ainsi supprimer le Select

End If
Next i

Application.ScreenUpdating = True...en fin de procèdure

End Sub
Bonne Journée

Message édité par: chti160, à: 15/06/2005 10:52
 
Salut Thomas®
tu sais moi aussi je suis un junior de 49 ans en ce qui concerne Excel et VBA Lol
je me suis même rendu compte que j'aurais pu ,supprimer dans la macro ,les Fameux Application.screenUpdating
car lorsques tu supprimes les Select ils ne sont plus nécessaires.Tu peux essayer
Arffffff je suis un bleu je ne peux pas faire deux choses à la fois
Bonne Journée
 
re,

Excuse moi ChTi160, mais je comprend pas ton message ?

La macro fonctionne avec ou sans le Application.screenUpdating

j'ai cru que tu me le passait pour une question de vitesse ??

si cela a un autre but peut tu me dire quoi (je suis tres curieux d'apprendre)

D'avance merci
Thomas®
 
bonjour arno, thomas, chti, le forum


Thomas, le screenupdating permet de figer l'écran pendant le traitement d'une macro, ainsi on évite le scintillement des selects toujours désagréable pour l'utilisateur.

En plus tu gagnes en vitesse, mais c'est vrai que éviter les sélections de cellule, c'est quand meme mieux.

Pour afficher toutes les lignes d'une feuille on peut utiliser rows qui correspond à la collection des lignes d'une feuille.

ainsi ta macro deviendrait :

Sub thomas1()
'pour afficher
Rows.Hidden =
False
End Sub

pour masquer des feuilles on peut utiliser un double boolean, qui évite deux lignes de codes 🙂

Sub thomas()
Dim i As Integer
'pour masquer
For i = 4 To Sheets(1).Range('A65000').End(xlUp).Row
Rows(i).Hidden = Sheets(1).Range('E' & i) = ''
Next i
End Sub

salut
 
tout d'abord Salut Hervé OK ???
Thomas

voilà l'explication la macro de départ comprenait si tu l'as toujours un select de Chaque ligne à Masquer
donc lorsque tu lances la macro sous cette forme tu vois le défilement des Lignes qui sont masquée tu essaies et tu verras l'effet.
mais lorsque j'ai eu ajouté les Application.screenUpdating
nécessaire dans ce cas de figure
je me suis aperçu que l'on pouvait simplifier et supprimer les Select ce qui est toujours mieux
mais je n'ai pas Oté les Application.ScreenUpdatingqui n'ont plus lieu d'être .mais cela ne gêne en rien mais ne sert à rien ,donc autant les supprimer Lol Excuse moi

ps Pour HERVE on dit la même chose pas mal hun !!!
par contre ton code surtout pour le Caché ,chapeau On sent qu'il y a de la recherche Lol
Merci Hervé

Message édité par: Chti160, à: 15/06/2005 15:53
 
re,

Merci pour toutes ses infos

grace à ce site il ne se passe pas un jour sans que j'apprenne qquchose 🙂

cela fait 4 mois que j'ai commencé les macro grace à ce forum, et maintenant j'ai l'impression que ca fait 10ans B) (lol)


j'ai mis en pratique vos info et le resultat est significatif

dans ce poste d'Arno :
Lien supprimé

si vous avez l'occasion de regarder dit moi ce que vous en pensez car c'est de l'improvisation (et donc il y a plein de truck a optimiser encore 😉 )

@+
Thomas®

PS : Hervé )
Rows(i).Hidden = Sheets(1).Range('E' & i) = ''

je n'avais jamais vu cette facon de faire je peux dans la même ligne lui dire la valeur sera '' et en plus la ligne sera hide ?

mais dans ce cas je n'ai plus ma condition ? elle est implicite le = serait un genre de if
😛inch:

je suis encore trop debutant pour comprendre
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
291
Réponses
9
Affichages
262
Réponses
6
Affichages
325
Réponses
5
Affichages
690
Retour