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

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:

job75

XLDnaute Barbatruc
Bonsoir Thenesol,

La sélection d'un Range par Select nécessite que la feuille du Range soit la feuille active.

Vous pouvez utiliser :
VB:
Application.Goto [Tableau1[Titre2]]
à condition que la feuille soit visible.

A+
 

Cousinhub

XLDnaute Barbatruc
Inactif
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.
 

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
Jusqu'à présent, j'en étais convaincu...
Maintenant, si c'est effectivement une "légende urbaine", je vais néanmoins continuer avec mes propres habitudes.
Merci pour ces infos, et bon dimanche sous la tempête...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…