Bonjour
@jireu
- La notation raccourci pour la déclaration des variables
Quand on utilise des numéro de lignes, il vaut mieux utiliser le type Long (suffixe &) car un numéro de lignes peut être un entier plus grand que le plus grand des entiers (32 767). Personnellement, pour les entiers, j'utilise toujours le type Long.
- La possibilité de dimensionner un tableau en écrivant "1 to Valeur"
- Le fait que cette notation fait commencer le tableau à 1 et non pas à 0. J'en déduit donc que la notation "1 to valeur" ne se contente pas de juste compter de 1 à valeur mais définit les adresse du tableau
Oui, on pourrait écrire Dim t(-10 to -5, -5 to 5, 0 to 1) (tableau à trois dimensions avec indices personnalisés)
- L'écriture de plusieurs ligne de code sur une seule ligne : il va falloir que j'étudie ce point
Attention !
Si on utilise des instructions "un tout petit compliquées" (exemple boucle avec un IF dans le corps de la boucle), l'écriture sur une seule ligne peut devenir incohérent par rapport à la logique recherchée.
Je n'utilise plusieurs instructions sur une seule ligne que dans le cas où toutes les instructions sont des instruction d'affectation.
Cependant, écrire une instruction par ligne rend le code quand même bien plus lisible.
- La possibilité de remplir une plage avec un tableau juste en faisant plage=tableau
C'est un classique tant en lecture qu'en écriture.
Si on veut transférer les valeurs d'une plage dans un tableau : t=range("a1:g8") ( ou range("a1:g8").value )
Si on veut transférer les formules d'une plage dans un tableau : t=range("a1:g8").formula
Les indices des tableaux t à partir d'une plage d'une feuille de calcul commencent toujours à 1 (même si
Option Base = 0 est présent dans le code)
Si on veut transférer le tableau t sur la feuille Excel à partir de la cellule B11 : Range("B11").Resize(ubound(t),ubound(t,2))=t
Si on veut se limiter aux 3 premières lignes de t et 5 premières colonnes: Range("B11").Resize(3,5))=t
Concernant le protocole de "mélange", c'est toi qui instaure cette façon de faire ou c'est une méthode répandue?
Pour l'instant, je ne l'ai vu que dans mes codes mais ça doit exister déjà ailleurs (presque tout existe déjà en VBA
)