Attribuer une variable Range à la cellule active

Résolu
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 - Modifié le 10 avril 2024 à 10:27
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 - 10 avril 2024 à 10:35

Bonjour à tous !
Je ne trouve pas comment attribuer à la cellule active d'une feuille Excel un objet Range: le code
Dim NJ as Range
Set NJ = Range(ActiveCell)

ne fonctionne pas ... Où est mon erreur?


Windows / Chrome 123.0.0.0

1 réponse

Bruno83200_6929 Messages postés 89 Date d'inscription jeudi 18 juin 2020 Statut Membre Dernière intervention 21 avril 2024 13
10 avril 2024 à 10:31

Bonjour,


Il semble que votre erreur réside dans la façon dont vous utilisez la fonction Range(). La fonction Range() nécessite des paramètres spécifiques pour définir une plage, mais vous ne lui avez pas fourni ces paramètres correctement.

Pour attribuer à la cellule active un objet Range, vous devez spécifier explicitement l'adresse de la cellule active. Voici comment vous pouvez le faire

Dim NJ As Range
Set NJ = ActiveCell


Avec ce code, vous déclarez un objet Range appelé NJ et lui attribuez la référence de la cellule active.

Si vous souhaitez plutôt définir une plage autour de la cellule active, par exemple une plage de 1x1 cellule, vous pouvez le faire comme suit :


Dim NJ As Range
Set NJ = ActiveCell.Resize(1, 1)


Cela définit une plage (Range) autour de la cellule active avec une dimension de 1 ligne et 1 colonne.

Si vous souhaitez une plage plus grande autour de la cellule active, vous pouvez ajuster les paramètres de Resize() en conséquence. Par exemple, pour une plage de 3x3 cellules autour de la cellule active :

Dim NJ As Range
Set NJ = ActiveCell.Resize(3, 3)


Assurez-vous de choisir la méthode qui correspond le mieux à ce que vous essayez de réaliser dans votre script VBA Excel.

En espérant vous avoir aidé.


 

1
mikel831 Messages postés 120 Date d'inscription mardi 23 octobre 2012 Statut Membre Dernière intervention 28 avril 2024 10
10 avril 2024 à 10:35

Merci pour ta réponse!
Effectivement, ActiveCell est déjà un objet Range ...
Merci pour ton aide claire et précise.
Cordialement, Mikel

1