Bonjour,
Etant amateur dans l'utilisation et la création de macro VBA, je me tourne vers vous, ô experts chevronnés dans la programmation pour m'aider à résoudre un petit problème.
En fait, je cherche à masquer toutes les lignes vides d'un tableau contenant 2000 lignes, de manière à ce que la ligne de calcul en bas de ce dis tableau apparaisse directemment à la suite de celui-ci...Pour cela, j'ai réalisé la macro suivante :
Celle-ci fonctionne parfaitement, au soucis près que cela peut durer plusieurs minutes!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sub masquer_XXX() Application.ScreenUpdating = False Dim i As Long Set p = Sheets("Données XXX").Range("donneesXXX") (j'ai donné des noms à mes plages pour me simplifier la tache) Set m = Sheets("Données XXX").Range("nomXXX") (j'ai donné des noms à mes plages pour me simplifier la tache) i = 1 For i = 1 To m.Rows.Count If m.Cells(i, 1) = "" Then p.Rows(i).Hidden = True End If Next i Application.ScreenUpdating = True End Sub
Ceci étant dit, n'est-il pas possible, vu que je connais exactemment la dernière ligne de mon tableau (ce sera toujours la ligne 2000), de sélectionner la première ligne vide jusqu'à la ligne 2000 de manière à réduire le temps de traitement?
En gros quelque chose de ce type :
Mais en faisant que cela marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 For i = 1 To m.Rows.Count If m.Cells(i, 1) = "" Then Rows("i;2000").select Selection.EntireRow.Hidden = True
Merci de votre aide...
Ps : il est possible que tout ceci ne soit pas très clair, je suis à disposition pour me réexpliquer...hihi ^^
Encore merci.
Partager