Compter les colonnes dans VBA

Iqra Hasnain 30 janvier 2023
  1. Compter les colonnes dans VBA
  2. Compter la colonne dans la plage dans VBA
  3. Utiliser la méthode Range().End dans VBA
  4. Utiliser la méthode Cells.Find() dans VBA
Compter les colonnes dans VBA

Cet article discutera de deux façons de compter facilement les colonnes avec des données à l’aide de VBA dans Excel.

Compter les colonnes dans VBA

Lorsque nous avons une petite table de données avec quelques colonnes, nous pouvons facilement les compter, mais il est assez difficile pour une grande table de données de compter toutes les colonnes sans aucune erreur. En plus de cela, certaines colonnes peuvent contenir des données, tandis que certaines colonnes peuvent être complètement vides.

Ainsi, compter toutes les colonnes avec des données dans le cas d’une grande table de données est assez difficile. Maintenant, créons une feuille avec des exemples de données avec lesquelles travailler.

création d’une feuille pour compter les colonnes dans VBA

Nous pouvons voir les trois colonnes dans le tableau de données suivant. Pour contrôler le nombre de colonnes utilisées dans une seule feuille de calcul Excel, nous utiliserons des codes VBA.

Tout d’abord, nous ouvrons l’éditeur VBA en appuyant sur la touche ALT + F11. Après cela, créez un nouveau module à partir de Insérer > Module.

création d’une nouvelle macro pour compter les colonnes dans VBA

Ensuite, créez un nouveau sous, usedColumns(). A l’intérieur de notre nouveau sub, nous allons utiliser une boucle with pour obtenir la plage utilisée en utilisant la méthode UsedRange.

Après cela, nous utilisons la méthode count de columns pour afficher le nombre de colonnes utilisées.

Exemple de code :

# VBA
Sub usedColumns()
With Sheet1.UsedRange
MsgBox "The Used Columns are: "& .Columns.Count
End With
End Sub

Enregistrez la macro et exécutez-la en appuyant sur F5 ou en cliquant sur exécuter. La boîte de dialogue Macro apparaîtra comme indiqué ci-dessous.

Production:

compter les colonnes dans VBA en utilisant la boucle With

Compter la colonne dans la plage dans VBA

Le code VBA suivant compte toutes les colonnes avec des données dans une plage donnée.

Créons un nouveau sous ColumnsInRange(). Dans ce sous-menu, nous utiliserons la fonction de plage pour sélectionner et compter le nombre de colonnes dans cette plage.

Exemple de code :

# VBA
Sub ColumnsInRange()
Dim newRange As Worksheet
Set newRange = Worksheets("Sheet1")
MsgBox "The Used Columns are: " & newRange.Range("A15:D15").Columns.Count
End Sub

Production:

compte toutes les colonnes avec des données dans une plage donnée

Utiliser la méthode Range().End dans VBA

Nous pouvons utiliser la méthode Range().End pour obtenir la dernière colonne utilisée dans cette plage.

Créez un nouveau sous, findLastColumn(), et à l’intérieur de ce sous, nous utiliserons la méthode de plage End pour trouver la dernière colonne utilisée vers le côté droit de la feuille.

# VBA

Sub findLastColumn()
Dim newRange As Integer
newRange = Range("A2").End(xlToRight).Column
MsgBox newRange
End Sub

Production:

compter les colonnes dans VBA dernière colonne utilisée vers la droite de la feuille en utilisant la méthode End

Nous obtenons le dernier numéro de colonne dans une boîte de dialogue contextuelle, comme dans l’image ci-dessus.

Utiliser la méthode Cells.Find() dans VBA

Nous pouvons également utiliser la méthode Range.Find pour obtenir la dernière colonne utilisée de la feuille à l’aide du code VBA.

Vérifiez le code suivant. Dans le sous LastColumnByFind(), nous utilisons la méthode Cells.Find() pour trouver la dernière colonne utilisée.

Exemple de code :

# VBA
Sub LastColumnByFind()
Dim newRange As Long
    newRange = Cells.Find(What:="*", _
                    After:=Range("A1"), _
                    LookAt:=xlPart, _
                    LookIn:=xlFormulas, _
                    SearchOrder:=xlByColumns, _
                    SearchDirection:=xlPrevious, _
                    MatchCase:=False).Column
    MsgBox "Last Used Column Number by Find Method: " & newRange
End Sub

Production:

compter les colonnes dans VBA à l’aide de la méthode Find

Article connexe - VBA Column