Syntaxe de ReFersTo R1C1:=

Michael78

XLDnaute Nouveau
Bonjour,

Je suis un petit nouveau qui est a peu près au niveau 1 en VBA, j'arrive de mieux en mieux a "lire" du code, mais voilà, je n'arrive pas à comprendre ces 2 lignes:

ActiveWorkbook.Names.Add Name:=grade, _
RefersToR1C1:="='listes déroulantes'!R2C" & col & ":R" & Nb + 1 & "C" & col

A savoir que :
* grade est le nom d'un menu déroulant
* listes déroulantes est une feuille de mon fichier
* col est une variable définie plus haut : col = Sheets("Feuil1").Cells(n, 2).Value (valeur de 1 à 5)
* Nb est une variable elle aussi définie plus haut : Nb = lignefin - 1 (lignefin = Cells(1, 1).CurrentRegion.Rows.Count)

donc pour moi il va chercher quelque chose, quelque part dans la feuille "liste déroulantes".

mais que signifie :
* R2C" & col & ": R" & Nb +1 & "C" & col

Merci d'avance... et bonne année 2017
 

Paf

XLDnaute Barbatruc
bonsoir et bienvenue sur XLD,

la recherche de RefersTo ou RefersToR1C1 dans l'aide Excel pourrait éclaircir le problème.

En fait il s'agit d'une seule ligne de code, coupée en deux pour la lisibilité ( présence du tiret _ ), qui crée une plage nommée avec la définition de sa plage.

A+
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

mais que signifie :
RefersToR1C1:="='listes déroulantes'!R2C" & col & ":R" & Nb + 1 & "C" & col
Le "&" sert à mettre des chaînes de caractères bout à bout.

Exemple :
Si col a pour valeur 10 et que Nb a pour valeur 20, alors la formule équivaut à :
RefersToR1C1:="='listes déroulantes'!R2C" & 10 & ":R" & 20 + 1 & "C" & 10
c'est-à-dire :
RefersToR1C1:="='listes déroulantes'!R2C10:R21C10"

Donc au final dans cet exemple ça te donnerait :
ActiveWorkbook.Names.Add Name:=grade, RefersToR1C1:="='listes déroulantes'!R2C10:R21C10"
Ce qui donne le nom "grade" à une plage de données située sur la feuille nommée "listes déroulantes".
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 974
Membres
103 076
dernier inscrit
LoneWolf90