Microsoft 365 vba : nom de tableau si feuille non active

thenesol

XLDnaute Junior
bonjour à tous

j'ai un "Tableau1" sur la feuille "Feuill1" de mon classeur
le nom "Tableau1" est global au classeur

quand je teste mon code, il plante si j'active une autre feuille que "Feuill1"

p.ex avec Range("Tableau1[Titre2]").Select

que faut il déclarer ou écrire pour qu'il fonctionne quelle que soit la feuille active ?
y compris sans avoir à modifier le code si le nom de la feuille venait à être modifiée

merci...!

(gros fichier excel, difficile de l'envoyer ici)
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Bonsoir,
Perso, j'évite d'utiliser les [ ], et préfère de loin le "Range"...
Une matrice insérée entre crochets est automatiquement évaluée, ce qui n'est nullement nécessaire bien souvent...
Mais tout ceci n'est que mon avis, et peut-être me trompé-je....
Je n'utilise plus le [A65000].End.... mais plus le Cells(Rows.Count, "A").End.....
La cellule "A65000" n'a nullement besoin d'être évaluée...
Non?
Bonne soirée
 

Dranreb

XLDnaute Barbatruc
Une matrice insérée entre crochets est automatiquement évaluée,
C'est faux et c'est une confusion très fréquente. Ce qui est évalué par Excel c'est surtout le sens de l'expression spécifiée entre les crochets. Si c'est une adresse de plage, ça renvoie simplement un objet Range qui la représente. Mais ça ne provoque en aucun cas une évaluation de la dite plage, ça c'est après, si elle contient des formules et si on demande dans la foulée à affecter sa valeur à un tableau dynamique.
Le plus souvent c'est en somme plus une interprétation qu'une évaluation au sens où on l'entend généralement.
À moins que ce soit un autre genre d'expression qui nécessite le pour le coup d'être vraiment évaluée.
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 228
Membres
103 160
dernier inscrit
Torto