Bonjour, je suis nouvelle dans le forum.
Je sollicite votre aide concernant une macros VBA.
J'ai un tableau que j'alimente automatiquement par des données se trouvant dans deux fichers Excel, ces données là se trouvent sur dans des feuils excel mais pas dans un tableau, (les feuille sont générées à partir d'un fichier modèle xltx, donc je ne peux pas y toucher).
Mon problème c'est que lors de l'alimentation, j'ai des lignes en plus qui sont vides. Mais c'est un traitement totalement automatisé, je dois supprimer ces lignes vides automatiquement.
J'ai donc écris une méthode qui fais ça, sauf que cette méthode, elle supprime une partie de ces ligne mais pas toutes lignes, le traitement s'arrête avant la suppression de toutes les lignes vides.
Je pense que c'est un problème de boucle.
Remarque : je parcours uniquement la première colonne du tableau, car elle ne pas être vide. donc dès que je trouve une cellule vide de cette colonne, je supprime toute la ligne.
Exemple concret : j'ai un tabeleau de 10 ligne, Les 5 première ne sont pas vide, les 5 dernières sont vide. Ma macros va supprimer par exemple uniquement les 3 dernière ligne, me laissant de lignes vides.
Voici mon code;
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 Sub lignevide_supprimer() Dim li As Integer Dim j As Integer Dim lLastRowIM As Long lLastRowIM = Feuil1.ListObjects(1).DataBodyRange.Rows.Count + 1 For li = 2 To lLastRowIM If Feuil1.ListObjects(1).DataBodyRange(li, 1) = "" Then Feuil1.ListObjects(1).DataBodyRange(li, 1).EntireRow.Delete End If Next End Sub
Merci pour votre aide
Partager