Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 vba constante avec un range dedans

fred19732

XLDnaute Nouveau
Bonjour,

Je voudrais déclarer et utiliser une constante qui contient un renge dedans.

je m'explique.

je voudrais avoir la constante Sphere qui contient a2:a10
j'ai donc déclaré :

const maRange = "a2:a10".
mes questions.

de quel type est cette constante (as range ne fonctionne pas sous excel 2016)

comme je dois l'utiliser.
si dans une methode je veus appeler ce range, lorsque j'écris

worksheets"mafeuille").range(maRange)
ou
worksheets("mafeuille").range (""" & maRange & """)
cela ne marche pas.

merci de votre aide.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

votre constante est une constante de Type String puisqu'elle contient une chaîne de caractères.

Et normalement: WorkSheets("Feuil1").Range(maRange) devrait renvoyé l'objet range idoine.

VB:
Const maRange = "a1:a10"
Sub truc()
' il faut d'abord afficher la fenêtre d'exécution CTRL+G
Debug.Print Worksheets("Feuil1").Range(maRange).Address
End Sub

cordialement
 

Dranreb

XLDnaute Barbatruc
Bonjour.
si dans une methode …
Cette programmation serait-elle donc dans un module objet, pour que vous puissiez y appeler "méthode" une procédure Public ?
Personnellement je préfèrerais déclarer une Private MaRange As Range et faire Set MaRange = Worksheets("mafeuille").Range("A1:A10") dans la procédure d'initialisation, ou, à défaut, d'activation de l'objet.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Une autre possibilité
VB:
Sub test()
ActiveSheet.Range("A1:A10").Name = "Sphere"
MsgBox [Sphere].Address(0, 0)
[Sphere].Select
MsgBox Selection.Address(0, 0)
MsgBox [Sphere].Offset(10, 10).Address
End Sub
 

Discussions similaires

M
Réponses
6
Affichages
1 K
Misterk
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…