VBA : Comment définir la valeur d’une cellule dans une autre feuille
Vous pouvez utiliser les méthodes suivantes dans VBA pour définir la valeur de cellule dans une autre feuille :
Méthode 1 : définir une valeur de cellule dans une autre feuille
Sub SetCellAnotherSheet()
Dim wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets("Sheet1")
Set wks2 = Sheets("Sheet2")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range("A2").Value = wks1.Range("A2").Value
End Sub
Cette macro particulière définira la valeur de la cellule A2 dans Sheet2 pour qu’elle soit égale à la valeur de la cellule A2 dans Sheet1 .
Méthode 2 : définir plusieurs valeurs de cellule dans une autre feuille
Sub SetCellAnotherSheet()
Dim wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets("Sheet1")
Set wks2 = Sheets("Sheet2")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range("A2:A11").Value = wks1.Range("A2:A11").Value
End Sub
Cette macro particulière définira la valeur de chaque cellule de la plage A2:A11 dans Sheet2 pour qu’elle soit égale à la valeur de chaque cellule de la plage A2:A11 dans Sheet1 .
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : définir une valeur de cellule dans une autre feuille
Supposons que nous ayons la feuille suivante appelée Feuille1 qui contient les noms de différentes équipes de basket-ball :
Et supposons que nous ayons Sheet2 qui ne contient qu’une ligne d’en-tête :
Nous pouvons créer la macro suivante pour définir la valeur de la cellule A2 de Sheet2 pour qu’elle soit égale à la valeur de la cellule A2 de Sheet1 :
Sub SetCellAnotherSheet()
Dim wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets("Sheet1")
Set wks2 = Sheets("Sheet2")
'set cell value in Sheet2 equal to cell value in Sheet1
wks2.Range("A2").Value = wks1.Range("A2").Value
End Sub
Lorsque nous exécutons cette macro, nous pouvons voir que la valeur de la cellule A2 de Sheet2 est désormais définie sur « Mavs », ce qui correspond à la valeur de la cellule A2 de Sheet1 :
Exemple 2 : définir plusieurs valeurs de cellule dans une autre feuille
Supposons que nous souhaitions définir la valeur de chaque cellule de la plage A2:A11 de Sheet2 pour qu’elle soit égale à chaque cellule de la plage A2:A11 de Sheet1 .
Nous pouvons créer la macro suivante pour ce faire :
Sub SetCellAnotherSheet()
Dim wks1 As Worksheet, wks2 As Worksheet
'specify sheets to use
Set wks1 = Sheets("Sheet1")
Set wks2 = Sheets("Sheet2")
'set cell range in Sheet2 equal to cell range in Sheet1
wks2.Range("A2:A11").Value = wks1.Range("A2:A11").Value
End Sub
Lorsque nous exécutons cette macro, nous pouvons voir que les valeurs de la plage A2:A11 de Sheet2 sont désormais définies pour être identiques aux valeurs de la plage A2:A11 de Sheet1 :
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment trouver la dernière ligne utilisée
VBA : Comment compter le nombre de lignes dans la plage
VBA : Comment compter le nombre de colonnes utilisées