Comment saisir une valeur dans une cellule via VBA ?
Notes clés
- La propriété value peut être utilisée dans les deux sens (vous pouvez lire et écrire une valeur à partir d’une cellule).
- Vous pouvez vous référer à une cellule à l’aide de Cellules et Objet de plage pour définir une valeur de cellule (pour obtenir et modifier également).
Définir la valeur de la cellule
Pour définir une valeur de cellule, vous devez utiliser la propriété « Valeur », puis vous devez définir la valeur que vous souhaitez définir. Ici, j’ai utilisé quelques exemples pour vous aider à comprendre cela.
1. Entrez une valeur dans une cellule
Supposons que vous deviez entrer la valeur « Terminé » dans la cellule A1. Dans ce cas, le code serait quelque chose comme ci-dessous :
Range("A1").Value = "Done"
Comme vous pouvez le voir, j’ai d’abord défini l’adresse de la cellule où je veux ajouter la valeur, puis la propriété value. En fin de compte, j’ai attribué la valeur « Terminé » en utilisant un signe égal « = » entre guillemets doubles.
Vous pouvez également utiliser la propriété « Cells », tout comme le code suivant.
Cells(1, 1).Value = "Done"
Le code ci-dessus fait également référence à la cellule A1.
En dehors de cela, il existe une autre façon que vous pouvez utiliser et c’est en n’utilisant pas la propriété value en attribuant directement la valeur à la cellule.
Cells(1, 1) = "Done"
Mais il est recommandé d’utiliser la propriété value pour entrer une valeur dans une cellule.
Supposons maintenant que vous vouliez entrer un nombre dans une cellule. Dans ce cas, vous n’avez pas besoin d’utiliser des guillemets doubles. Vous pouvez écrire le code comme suit.
Range("A1") = 99
Vous pouvez également DATE et MAINTENANT ( Fonctions VBA ) pour entrer une date ou un horodatage dans une cellule à l’aide d’un code VBA.
Range("A1").Value = Date
Range("A2").Value = Now
Et si vous voulez entrer une valeur dans la cellule active, le code dont vous avez besoin serait comme :
ActiveCell.Value = Date
2. Utilisation d’une zone de saisie
Si vous souhaitez qu’un utilisateur spécifie une valeur à saisir dans une cellule, vous pouvez utiliser une zone de saisie. Supposons que vous vouliez entrer la valeur dans la cellule A1, le code ressemblerait à ceci :
Range("A1").Value = _
InputBox(Prompt:="Type the value you want enter in A1.")
Dans le code ci-dessus, la valeur de la cellule A1 est affectée à la valeur renvoyée par la zone de saisie qui renvoie la valeur saisie par l’utilisateur.
3. D’une autre cellule
Vous pouvez également définir la valeur de la cellule en utilisant la valeur d’une autre cellule. Supposons que vous souhaitiez ajouter de la valeur à la cellule A1 à partir de la cellule B1, le code serait :
Range("A1") = Range("B1").Value
Vous pouvez également faire référence à la cellule B1 sans utiliser la propriété value.
Range("A1") = Range("B1")
4. Définir la valeur dans une plage entière
Imaginez que vous vouliez entrer des valeurs dans plusieurs cellules ou une plage de cellules au lieu d’une seule cellule, dans ce cas, vous devez écrire du code comme ci-dessous :
Range("A1:A10").Value = Date
Range("B1, B10").Value = Now
Dans la première ligne de code, vous avez une plage entière allant de la cellule A1 à A10, et dans la deuxième ligne, il y a deux cellules B1 et B10.
Obtenir la valeur de la cellule
Comme je l’ai dit, vous pouvez utiliser la même propriété de valeur pour obtenir la valeur d’une cellule.
1. Obtenez la valeur de l’ActiveCell
Supposons que vous souhaitiez obtenir la valeur de la cellule active, dans ce cas, vous devez utiliser le code suivant.
ActiveCell.Value = Range("A1")
Dans le code ci-dessus, vous avez utilisé la propriété value avec la cellule active, puis attribué cette valeur à la cellule A1.
2. Affecter à une variable
Vous pouvez également obtenir une valeur d’une cellule et l’affecter ensuite à une variable .
Maintenant, dans le code ci-dessus, vous avez la variable « i » qui a la date comme type de données . Dans la deuxième ligne du code, la valeur de la cellule A1 est affectée à la variable.
3. Afficher dans une MsgBox
Imaginez maintenant que vous souhaitiez afficher la valeur de la cellule A1 à l’aide d’une boîte de message . Dans ce cas, le code serait comme ci-dessous.
MsgBox Range("A1").Value
Dans le code ci-dessus, la boîte de message prendra la valeur de la cellule A1 et la montrera à l’utilisateur.
Modifier la valeur de la cellule
Vous pouvez également apporter des modifications à une valeur de cellule, et ici j’ai partagé quelques exemples qui peuvent vous aider à comprendre cela.
1. Ajouter un numéro à un numéro existant
Disons que si vous voulez en ajouter un au nombre que vous avez dans la cellule A1, vous pouvez utiliser le code suivant.
Range("A1").Value = Range("A1").Value + 1
Le code ci-dessus attribue une valeur à la cellule A1 en prenant la valeur de la cellule A1 elle-même et en lui ajoutant une. Mais vous pouvez également utiliser VBA IF THEN ELSE pour écrire une condition à modifier uniquement lorsqu’il y a un nombre dans la cellule .
If IsNumeric(Range("A1").Value) Then
Range("A1").Value = Range("A1").Value + 1
End If
2. Supprimer le premier caractère de la cellule
Maintenant, le code suivant supprime le premier caractère de la valeur de la cellule et attribue le reste de la valeur à la cellule.
Range("A1").Value = Right(Range("A1").Value, Len(Range("A1").Value) - 1)