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

VBA : références range entre []

  • Initiateur de la discussion Initiateur de la discussion chris
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris

XLDnaute Barbatruc
Bonjour à tous

J'ai vu que certains des VBistes d'XLD, dont BOISGONTIER par exemple, utilisent une notation de type [A1:B12] ou [nomPlage].

En fouillant sur le Web j'ai vu que MSoft appelle cela la shortcut notation mais il n'y a aucune explication détaillée.

Mes essais n'étant pas très concluants, j'aimerais quelques explications sur la façon de se servir de cette notation, ses avantages et inconvénients.

Merci à tous les VBistes
 
Re : VBA : références range entre []

Salut Chris,

Cela à déjà été évoqué il n'y a quelques heures sur ce forum,
mais je n'ai pas su retrouver où !

Les crochets [] servent à évaluer ce qui se trouve dedans !

Tu peux très bien faire : Rep = [1+2] * ["15"]
Ce qui te donnera : 45

Cela demande beaucoup plus de temps processeur, car excel doit interpréter ce qu'il trouve.

Mieux vaut une programmation "propre" et appeler un range; un range ...

Range("A1") ou Range("PlageNommée")

Après à chacun sa prog.

Voili, voilà 😉
 
Re : VBA : références range entre []

Bonjour Chris, Bruno

En complément de la réponse de Bruno, ci dessous extrait de l'aide vba (sur mot clé Evaluate) :




Il me semble avoir lu un jour, que cette méthode avait été créée pour évaluer des formules matricielles... A confirmer....

tout à fait d'accord avec Bruno sur la vitesse d'exécution plus lente avec l'utilisation des accolades.

bon après midi.
@+
 
Re : VBA : références range entre []

Bonjour

Merci beaucoup, cela éclaire ma lanterne.

Cependant cela me conduit à une question subsidiaire :
Je trouve personnellement plus simple d'utiliser la notation A1 par exemple
Range("A2:A & x)
mais un collègue veut me convaincre (voire contraindre 😡) d'utiliser
Range (Cells(2,1),cells(x,1)
que je trouve peu lisible dès qu'on atteint plus de 6 pour la colonne

Mais votre réponse semble indiquer que ma notation A1, utilisant des chaînes, sera aussi moins performante que la seconde.
 
Re : VBA : références range entre []

Re, bonjour Michel🙂

perso j'utilise également la référence A1, sauf lorsque j'utilise une variable pour les colonnes. A priori c'est moins performant qu'en utilisant "cells", mais la différence est vraiment minime... tu peux faire un test avec les codes ci-dessous :

Code:
Option Explicit
Sub testA1()
Dim t As Single, i As Integer
t = Timer
For i = 2 To 15000
    Range("A1:A" & i).Select
Next i
MsgBox Timer - t
End Sub
Sub testCells()
Dim t As Single, i As Integer
t = Timer
For i = 2 To 15000
    Range(Cells(1, 1), Cells(i, 1)).Select
Next i
MsgBox Timer - t
End Sub

Mais sinon, tu as raison le code est plus lisible et plus facile à écrire, enfin c'est juste mon avis.

@+
 
Re : VBA : références range entre []

[Re]Bonjour

Tiens un ou une squatteuse sur mon fil ! Bienvenue à LoloLala

Merci à tous. Pierrot ton code me conforte : j'ai 5/100ème de seconde d'écart, pas de quoi s'enquiquiner.

Bon week end
 
Re : VBA : références range entre []

Chris, tu as vu ça également 🙂

Lololala, c'est vraiment holéholé dans les post

Attention, sion ça va être la

Salut Chris
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…