Syntaxe code

Benjy

XLDnaute Occasionnel
Bonjour à tous j'ai un petit problème de syntaxe avec ce code :

Code:
ActiveWorkbook.Names("Affaires").RefersToR1C1 = _
        "=Listes!R12C5:R20C5"

Le code se lance au démarrage et sera quelque chose du type :
Code:
Private Sub Workbook_Open()
Dim T As Integer

T = Range("E65536").End(xlUp).Row
ActiveWorkbook.Names("Affaires").RefersToR1C1 = _
        "=Listes!R12C5:R20C5"
End sub

J'aimerais connaître la syntaxe pour mettre ma variable T dans le code... J'ai tenté :
Code:
ActiveWorkbook.Names("Affaires").RefersToR1C1 = _
        "=Listes!R12C5:R & TC5"
Mais ce n'est pas sa.

Merci d'avance,

Ben
 

Benjy

XLDnaute Occasionnel
Re : Syntaxe code

La manipulation consiste a modifier une liste pour un menu déroulant au démarrage du fichier.

Avant cette manipulation j'ai une autre fonction qui peut ou non suivant conditions m'apporter des nouveau choix dans la liste.

De base la liste est définie de E12 à E25

A l'ouverture du fichier il est donc possible d'avoir des valeurs en E26, E27 etc qui doivent être prisent en compte dans la liste. Il faut donc au démarrage que la liste s'actualise suivant la dernière cellule non vide.

En gros :

Code:
T = Range("E65536").End(xlUp).Row
ActiveWorkbook.Names("Affaires").RefersToR1C1 = _
        "=Listes!R12C5:R et [B]dernière cellule non vide[/B]C5"

Je cherche la syntaxe exacte pour écrire ceci.
 

JNP

XLDnaute Barbatruc
Re : Syntaxe code

Bonjour le fil :),
Histoire de proposer une solution écrite pour les aveugles :p...
Pourquoi ne pas passer par une gestion dynamique de la liste en formule :rolleyes:...
Type (il semblerait que ce soit la colonne E qui t'intéresse)
Code:
=DECALER(Feuil1!$E$1;;;NBVAL(Feuil1!E:E))
sans entête, ou avec une ligne d'entête
Code:
=DECALER(Feuil1!$E$2;;;NBVAL(Feuil1!E:E)-1)
Bonne soirée :cool:
 

job75

XLDnaute Barbatruc
Re : Syntaxe code

Bonjour le forum, salut Jean-Noël :)

Certains ne jurent que par VBA.

Et il est vrai que la fonction DECALER présente un "inconvénient" : elle est volatile, il y a un message à la fermeture du fichier même sans modification.

Alors dans le code de la feuille Listes (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("E12", [E65536].End(xlUp)).Name = "Affaires"
End Sub
A+
 

Statistiques des forums

Discussions
312 231
Messages
2 086 447
Membres
103 213
dernier inscrit
Poupoule