VBA : Comment remplir des cellules vides avec une valeur ci-dessus
Souvent, vous souhaiterez peut-être utiliser VBA pour remplir des cellules vides dans une feuille Excel avec les valeurs des cellules situées directement au-dessus d’elles.
Pour ce faire, vous pouvez utiliser la syntaxe de base suivante :
Sub Fill_From_Above() With Range("A2:B" & Range("C" & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub
Cet exemple particulier remplira toutes les cellules vides, de la cellule A2 à la colonne B jusqu’à la dernière ligne contenant une valeur dans la colonne C .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : utiliser VBA pour remplir les cellules vides avec la valeur ci-dessus
Supposons que nous disposions de l’ensemble de données suivant dans Excel qui montre les points marqués lors de divers matchs par différents joueurs de basket-ball :
Supposons que nous souhaitions remplir les cellules vides des colonnes A et B avec les valeurs des cellules situées au-dessus d’elles.
Nous pouvons créer la macro suivante pour ce faire :
Sub Fill_From_Above() With Range("A2:B" & Range("C" & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C" .Value = .Value End With End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que toutes les cellules vides des colonnes Équipe et Joueur ont été remplies avec la valeur appropriée des cellules situées au-dessus d’elles.
Remarque : Nous avons utilisé xlBlanks pour identifier les cellules vides dans la plage, puis utilisé =R[-1]C pour remplir les blancs avec la valeur de la cellule située une ligne au-dessus.
Le résultat final est que nous avons pu remplir toutes les cellules vides avec la valeur des cellules situées au-dessus d’elles.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment vérifier si la cellule est vide
VBA : Comment utiliser « Si ce n’est pas vide »
VBA : Comment compter les cellules avec un texte spécifique