Supprimer les colonnes vides avec Excel VBA

Comme pour les lignes vides, les colonnes vides peuvent également constituer des erreurs imprévisibles. Si vous recherchez et supprimez manuellement des colonnes vides, vous pouvez utiliser la macro présentée ci-dessous pour automatiser cette tâche.

Comment ca marche?
La macro utilise la propriété UsedRange de l’objet ActiveSheet et l’utilise pour déterminer la plage de travail. La propriété UsedRange indique la plage de cellules dans laquelle les données ont été entrées. Ensuite, pour vérifier que toute la colonne est vide, le compteur démarrant l’action à partir de la dernière colonne de la plage sera démarré. Si la colonne est réellement vide, elle sera supprimée. La suppression de colonnes sera effectuée à chaque itération et la valeur du compteur sera modifiée à chaque fois.

Sub SupprimerColonnesVides ()
'Étape 1: Déclaration des variables
Dim MyRange As Range
Dim iCounter As Long
'Étape 2: Définir la plage de cellules
Set MyRange = ActiveSheet.UsedRange
'Étape 3: Commencez la boucle avec le compte à rebours
For iCounter = MyRange.Columns.Count To 1 Step -1
'Étape 4: Si la colonne entière est vide, supprimez-la
If Application.CountA(Columns(iCounter).EntireColumn) = 0 Then
Columns(iCounter).Delete
End If
'Étape 5: Réduisez la valeur du compteur
Next iCounter
End Sub
1. Dans la première étape, deux variables d’objet sont déclarées. La première variable est une variable d’objet appelée MyRange. Il définit la plage de cellules cibles. La seconde est la variable de contrôle et le compteur (type de données entier long). Cette variable est utilisée comme un compteur.
2. Dans la deuxième étape, la macro récupère la propriété usedRange de l’objet ActiveSheet dans la variable MyRange. La propriété UsedRange indique la plage de cellules dans laquelle les données ont été entrées.
3. Dans cette étape, la macro définit les paramètres du compte à rebours, de sorte qu’il commence par la valeur la plus grande de la plage MyRange.Columns. compter
et se termine sur une valeur de 1 (la première ligne de la plage indiquée). Dans ce cas, le mot clé Step -1 a été utilisé. Parce qu’il y a un mot clé dans le code Step -1, Excel sait que, à chaque itération, la valeur du compteur doit être réduite d’une unité. Dans la troisième étape, Excel reçoit les informations selon lesquelles il doit commencer à partir de la dernière colonne de la plage indiquée, puis passe aux colonnes précédentes jusqu’à atteindre la première colonne.
4. Avec des plages, vous pouvez appeler avec précision une colonne spécifique en transmettant son numéro dans l’index à la collection Columns. Et ainsi, la  Range(“A1: D17”).Columns(2) indiquent la deuxième colonne de la plage (colonne B).
À la quatrième étape, la variable sterling iCounter est utilisée comme valeur d’index pour la variable MyRange dans la collection Columns. Cela aide à déterminer exactement quelle colonne est traitée dans la boucle d’itération donnée. La macro vérifie si les cellules d’une colonne donnée sont vides. S’ils sont vides, toute la colonne est supprimée.
5. À l’étape cinq, la macro commence l’itération suivante, réduisez la valeur du compteur d’une position.

 
S’abonner
Notifier de
0 Commentaires
le plus ancien
le plus récent le plus populaire
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x