Affectation et initialisation sur la meme ligne en VBA [Résolu]

RoGx 10 Messages postés mercredi 8 novembre 2000Date d'inscription 9 mars 2010 Dernière intervention - 25 févr. 2010 à 20:21 - Dernière réponse : bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention
- 26 févr. 2010 à 16:39
bonjour,

Pourquoi est-ce que j'obtiens une erreur sur le "=" avec message "Erreur de compilation: Fin de ligne attendue" lorsque j'écris ceci en VBA dans Excel 2003:

dim test as integer = 1


Je souhaite initialiser la variable en meme temps que la créer, car je trouve cela plus propre et ca prend moins de ligne que

dim test as integer
test = 1


Merci bonne journée!

Rémi
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 25 févr. 2010 à 20:45
3
Merci
Et si tu tiens vraiment (on se demande bien pourquoi) à tout mettre sur une seule ligne, voimà :
dim test as integer : test = 1

Et on n'en parle plus !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 25 févr. 2010 à 20:31
0
Merci
Bonjour,
Parce-que VBA est VBA et que sa syntaxe est celle de VBA ===>> tu "types"' d'une part, tu définis de l'autre.
Et tu ne gagnerais rien (après compilation) s'il en était autrement (sur une seule ligne)


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
RoGx 10 Messages postés mercredi 8 novembre 2000Date d'inscription 9 mars 2010 Dernière intervention - 25 févr. 2010 à 20:47
0
Merci
Je comprends que cela n'est pas plus rapide à l'exécution, mais je trouve que visuellement quand tu regardes le code, voir un paquet de DIM suivi par un paquet d'affectations, ca fait pas très beau...

mais bon, s'il n'existe pas d'autre moyen en VBA, je vais tout faire sur 2 lignes...

Merci!!

Rémi
Commenter la réponse de RoGx
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 25 févr. 2010 à 20:52
0
Merci
Ah ...
Mais en contre-partie, toute autre syntaxe te conduirait à d'autres lignes !
Ex :
Sous VBA (ou VB6, d'ailleurs) :
Dim toto as integer, titi as string, tata as double
toto 12 : titi "bonjour" : tata = 1.425
et que voudrais-tyèu trouver de mieux dans :
dim toto as integer = 12
Dim titi as string = "bonjour"
Dim tata as double = 1.425
?
C'est pinailler pour pinailler !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Commenter la réponse de ucfoutu
RoGx 10 Messages postés mercredi 8 novembre 2000Date d'inscription 9 mars 2010 Dernière intervention - 26 févr. 2010 à 16:05
0
Merci
Personnellement, je trouve ca beaucoup mieux visuellement et ca permet déviter d'oublier d'initialiser des variables...

question de gout j'imagine!

merci de tes explications et bonne journée!

Rémi
Commenter la réponse de RoGx
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 26 févr. 2010 à 16:35
0
Merci
Salut,

j'ajouterais qu'il existe une méthode proche de ce que tu souhaites et qui s'applique aux constantes mais comme leur nom l'indique ce sont des constantes, pas des variables. Donc a ne surtout pas confondre.

Const azerty As String = "FrKeyBoard"


A+
Commenter la réponse de bigfish_le vrai
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 26 févr. 2010 à 16:39
0
Merci
Ah, j'oubliais,

pour éviter d'oublier de dimensionner les variables il suffit d'ajouter :

Option Explicit


en premiere ligne de tes modules. En cas d'oublie un gentil message d'erreur te sera renvoyé à la compilation

A+
Commenter la réponse de bigfish_le vrai

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.