Bonjour Jordan, Laurent, le Forum
Pour Jordan, et aussi pour Laurent, car ça devrait aussi l'aider à mettre en place son UserForm...
Donc Option Explicit est tout simplement là en top de module, pour obliger définitivement le à déclarer toutes les variables qui seront utilisées dans le Module en Question.
On peut mettre ce paramètre automatiquement par les Options du Menu Outils de VBE (Visual Basic Editor) dans l'Onglet 'Editeur' cocher la CheckBox 'Déclaration des Variables Obligatoire'
Ceci fait, si on ne déclare pas une Variable VBA stoppera net dessus lors de la compilation du Projet.
Pourquoi déclarer les Variables... Et bien par défaut, si on n'a pas défini cette 'Option Explicit' tout est 'Variant' pour VBA, ce qui n'est pas toujours l'idéal, surtout pour les ressources mémoires, mais aussi pour permettre au développeur de contrôller ce qui se passe dans son application. (Variant 22 Octets + Longueur de la Chaine de caractère ou 16 Octets si numérique)
Pour le Dim, c'est tout simplement qu'il déclare les variables et leur attribue de l'espace de stockage dès le démarrage d'une routine.
Un Dim NbLignes As String comme tu avais fait, va préserver un espace de Stockage de 10 octets + longueur de la chaîne pour cette String de longueur variable... Alors qu'en fait pour définir un nombre de ligne les 3/4 du temps on a besoin que :
Byte (1 octet) de 1 à 255 lignes (Valeur Réelle 0 à 255)
Integer (2 octets) de 1 à 32 767 lignes (Valeur Réelle -32 768 à 32 767)
Long (4 octets) de 1 à 65536 lignes (Valeur Réelle -2 147 483 648 à 2 147 483 647)
Voilà, si cela peut t'éclairer un peu, n'hésite pas à user et abuser de l'aide de VBA (Touche [F1] quand tu as sélectionné une instruction dans le code)
Bon week End and Welcome to the VBA World !
@+Thierry
Message édité par: _Thierry, à: 11/06/2005 11:30