Comment utiliser la méthode des cellules spéciales ?
Dans VBA, la méthode des cellules spéciales vous permet de sélectionner une cellule ou une plage de cellules d’un type spécifique et d’un type de valeur spécifique. Disons que vous voulez savoir que dans la plage A1: A10, quelles cellules ont une formule et sont numérotées comme valeur ? Eh bien, vous pouvez obtenir ce résultat avec la méthode SpecialCells.
Utiliser la méthode des cellules spéciales dans VBA
Ici, nous écrivons du code pour connaître l’adresse de la cellule utilisée en dernier dans la plage A1: A10. Notez que, dans la méthode de cellule spéciale, il existe deux arguments dont l’un est obligatoire et l’autre facultatif.
- Tout d’abord, déclarez une variable comme plage pour stocker cette adresse de cellule renvoyée par le code.
- Après cela, reportez-vous à la plage et utilisez la méthode « SpecialCells » où vous devez spécifier l’argument « Type » avec « xlCellTypeLastCell ».
- Ensuite, définissez cette ligne de code de cellule spéciale sur la variable que vous avez définie à la première étape.
- À partir de là, vous devez utiliser une boîte de message VBA pour obtenir l’adresse des retours de cellules par la méthode de cellule spéciale.
- À la fin, utilisez la propriété address avec la variable pour obtenir l’adresse de la dernière cellule de type.
Voici le code complet.
Dim myRng As Range
Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell)
MsgBox myRng.Address
Maintenant, lorsque vous exécutez ce code, il vous montrera une boîte de message avec l’adresse de la cellule qui a été utilisée en dernier (tapé). Donc ici, dans mon cas, j’ai utilisé la cellule A10 et la même chose que j’ai reçue dans la boîte de message.
Sélectionnez des cellules avec des notes
Dans Excel, les anciens « Commentaires » sont désormais des « Notes ». Lorsque vous écrivez un code pour sélectionner des commentaires, il sélectionnera les notes que vous avez dans la plage spécifiée. Considérez le code suivant.
Dim myRng As Range
Set myRng = _
Range("A1:A10").SpecialCells(xlCellTypeComments)
myRng.Select
Utiliser les deux arguments
Comme je l’ai dit plus tôt, vous avez deux arguments pour la méthode SpecialCells. Voyons maintenant comment vous pouvez utiliser les deux arguments pour sélectionner des cellules qui ont une formule, et que la valeur renvoyée par la formule est une valeur logique.
Dim myRng As Range
Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical)
myRng.Select
Maintenant, lorsque j’exécute le code ci-dessus, il sélectionne les cellules de la plage A1 à A11 où j’ai des formules et une valeur logique.
Sélectionner des cellules avec une mise en forme conditionnelle
Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions)
Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)
Sélectionnez les cellules visibles
Et vous pouvez également sélectionner le visible à l’aide de la constante « xlCellTypeVisible ». Considérez le code suivant.
Dim myRng As Range
Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible)
myRng.Select
Ou vous pouvez également utiliser le « 12 » comme valeur d’argument.
Dim myRng As Range
Set myRng = Range("A1:A11").SpecialCells(12)
myRng.Select
Cellules avec la validation des données
Range("A1:A11").SpecialCells(xlCellTypeAllValidation)
Range("A1:A11").SpecialCells(xlCellTypeSameValidation)