Bonjour à tous et à toutes,
J'ai un léger problème pour un bout de code VBA... Je possède plusieurs tableaux sur une feuille "bon de commande" avec plein de cellules qui contiennent des 0 dans la ligne j-3 de chaque tableau.
J'aimerais en appuyant sur un bouton qu'une procédure se lance et n'affiche que les cases des tableaux avec une valeur.
J'ai donc fait le code suivant:
Le problème, c'est que comme le tableau est long (1667 lignes), la procédure est beaucoup trop longue...
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
25
26
27
28
29
30
31 Sub Affichercommande() Dim i, j, bascule As Integer j = 5 * Sheets("Bon de commande").Range("A55").Value + 2 'j prend en compte le nombre de tableaux à traiter bascule = Sheets("Bon de commande").Range("A57").Value If bascule = 0 Then Sheets("Bon de commande").Range("A57").Value = 1 While j > 2 'boucle qui permet de parcourir chaque tableau 1 à 1 For i = 3 To 1677 If Sheets("Bon de commande").Cells(i, j - 3) = 0 Then 'si la cellule est vide alors Sheets("Bon de commande").Cells(i, j - 3).RowHeight = 0 'mettre la taille de ligne à 0 End If Next i j = j - 5 Wend Else Sheets("Bon de commande").Range("A57").Value = 0 While j > 2 For i = 3 To 1677 Sheets("Bon de commande").Cells(i, j - 3).RowHeight = 17 Next i j = j - 5 Wend End If End Sub
Je ne peux pas utiliser les filtres Excel car il y a plusieurs tableaux sur une même feuille... Du coup en mettant des filtres sur un des tableaux tous les autres sont modifiés de la même manière :/
J'espère avoir été clair et que vous pourrez m'aider
Merci d'avoir pris le temps de lire ma demande,
Antoine
Partager