IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Retour au B-A-BA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut Retour au B-A-BA
    Bonjour,

    Je viens de me poser une question digne d'un débutant ! Mais j'espère que vous allez pouvoir m'éclairer.

    La propriété .Value affecte une valeur à un Objet, par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A1").Value = 10
    'La valeur de la case A1 vaut 10
    Mais dans cette situation, on aurait très bien pu se passer du .Value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A1") = 10
    'équivaut à Range("A1").Value = 10
    Pouvez vous me dire l'utilité EXACTE de la propriété .Value s'il vous plait ?

    Slooby.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    lors de l'affectation d'une valeur à un range, la propriété Value est la propriété par défaut, donc on peut ce passer de préciser Value!

    je préconise , même si je ne le fait pas systématiquement de préciser Value car on sait de quoi on parle.
    si tout comme moi tu passe d'un langage à l'autre tu t'évite des erreur de syntaxe en donnant tout le temps la propriété Value !

  3. #3
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 128
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    je préconise , même si je ne le fait pas systématiquement de préciser Value car on sait de quoi on parle.
    si tout comme moi tu passe d'un langage à l'autre tu t'évite des erreur de syntaxe en donnant tout le temps la propriété Value !
    Bien vu !

    Je vais suivre ton conseil, si je prends le réflexe d'écrire .Value je n'aurai pas de mélange de langage.

    Merci.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Pour un objet Range, on peut se passer de préciser la propriété Value en affectation
    car effectivement c'est bien la propriété par défaut. Exemple : Range("A1") = 9


    Par contre en lecture, par expérience il n'y a pas de propriété par défaut !

    VBA choisit selon le contexte la propriété, c'est souvent Value mais parfois c'est Text
    Et j'en connais qui s'en sont mordus les doigts de ne pas avoir précisé la propriété à lire, des jours de blocage,
    fallait voir leurs têtes lorsqu'en moins d'une minute j'ai solutionné leur « bug incontournable » ! …
    Exemple : V = Range("A1").Value

    Mais je suis d'accord, mieux vaut prendre l'habitude de systématiquement préciser la propriété …

  5. #5
    Membre émérite
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Par défaut
    Bonjour,
    la propriété Value de l'objet Range est une propriété en lecture-écriture ce qui veut dire que tu peux la lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaValeur=Range("A1").Value
    ou la modifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Value=MaValeur
    Range("A1") et Range("A1").Value sont des écritures équivalentes car la propriété Value est la la propriété par défaut de cet objet.
    Teste cela par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub test()Range("A1").Value = 0.141594778412365
    MsgBox Range("A1")
    MsgBox Range("A1").Value
    MsgBox Range("A1").Text
    End Sub
    Mais il vaut toutefois mieux la préciser.
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Retour au mode texte par défaut
    Par coca dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 12/12/2002, 17h22
  3. [XP] Retour d'experience
    Par virgile04 dans le forum Méthodes Agiles
    Réponses: 10
    Dernier message: 22/10/2002, 08h25
  4. Retour chariot dans un TMemo ?
    Par Vincent PETIT dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/08/2002, 18h55
  5. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 09h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo