Bonjour,
dans le programme que je suis entrain de créer, je remplis à l'aide d'un formulaire de nombreux tableaux (3 tableaux par page, 6 pages), et je transfère des informations d'un tableau à l'autre. Au moment du transfert, des lignes blanches viennent s'intercaler entre les données, de par le code que j'ai crée.
Je me suis donc mis en tête de créer un module spécial que je pourrais appeler à tout moment, qui vérifiera dans tous les tableaux de toutes mes feuilles si il existe des lignes vides, et, le cas écheant, les supprimera.
La méthode étant facilement trouvable sur internet, j'ai pu développer quelques lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Option Explicit
Sub SupprimerLigne()
    Dim Xt As Long, i As Long
 
    Xt = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
    Application.ScreenUpdating = False
    For i = Xt To 2 Step -1
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then Rows(i).Delete
    Next i
End Sub
Afin de le tester au préalable sur une structure simple, j'ai crée deux tableaux sur une feuille indépendante pour tester mon code. Totalement fonctionnel, comme vous pouvez le voir sur les captures d'ecran ci-dessous :

Ici les deux tableaux remplis avec des lignes vides, et le bouton permettant de supprimer les lignes vides.
Nom : TableauxTests.PNG
Affichages : 260
Taille : 15,7 Ko

Ici après l'appui sur le bouton les lignes sont supprimées.
Nom : TableauxTests2.PNG
Affichages : 160
Taille : 8,7 Ko

Jusqu'ici, tout fonctionne bien (Bien que les deux tableaux se retrouvent collés après la suppression des lignes, mais je sais déjà comment corriger ce soucis).
J'ai donc décidé de l'adapter à mes feuilles en mettant un bouton dessus, mais un message apparait : "Erreur dans le temps d'execution '1004' La methode Delete de la classe Range a échoué"

Pour information voici la feuille avec les tableaux que je souhaite traiter :
Nom : Feuille.PNG
Affichages : 200
Taille : 34,2 Ko

Je souhaiterais donc savoir si l'un de vous a une idée de la raison de cette erreur. J'ai déja essayer de passer outre la méthode CountA, mais d'autres erreurs apparaissent.
Merci à ceux qui pourront m'aider !