Comment remplir les cellules d'un tableau selon plusieurs conditions avec VBA ?


Si on souhaite remplir automatiquement des cellules selon plusieurs conditions, une astuce consiste à réaliser un filtre pour n'afficher que les cellules voulues. Puis de naviguer parmi les cellules filtrées pour effectuer les modifications nécessaires.

Il faut d'abord mettre les données sous forme de tableau afin de pouvoir faire référence au tableau directement. Ce qui facilitera la lecture du code VBA et sa maintenance.

ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$C$30000), , xlNo).Name = "Tableau1"

Ensuite, il faut écrire le code correspondant au filtre à réaliser :

ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:="Mettre la première condition", Operator:=xlOr, Criteria2:="Mettre le seconde condition"

Une fois le filtre réalisé, il ne reste plus qu'à parcourir les cellules affichées (qui correspondent au filtre) et y effectuer les modifications voulues. Pour cela, on va utiliser la propriété VBA xlCellTypeVisible.

Dim cel as Range
For Each cel In Range("Tableau1[Colonne1]").Cells.SpecialCells(xlCellTypeVisible)
Mettre le code correspondant aux modifications voulues en utilisant l'objet "ref"
Next cel

Pour + d'infos :

- La métode VBA SpecialCells

5.00 avg. rating (96% score) - 1 vote

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *