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

 Delphi Discussion :

Excel référence absolue


Sujet :

Delphi

  1. #1
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Points : 29
    Points
    29
    Par défaut Excel référence absolue
    Bonjour à tous,
    Pourquoi faut-il utiliser le caractère $ dans une référence absolue ?.

    Lorsque l'on utilise Delphi et Excel, quelle est la différence entre :
    ExcelApplication.Range['A2','A36'] et ExcelApplication.Range['$A$2','$A$36']

    En vous remercient d'avance ,
    Sincères salutations

  2. #2
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    dans ton exemple, je pense qu'il n'y a pas de différence.

    Mais dans Excel si on met $A$2 dans la formule d'une cellule, c'est une référence absolue : si on copie la formule dans une autre cellule, cette référence n'est pas incrémentée (alors que A2 devient A3 si on recopie la formule dans la cellule située juste en dessous)

    Mais je pense que tu sais déjà cela ? (et que j'ai bien compris ta question !!)

    A+
    Charly

  3. #3
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Bonjour Charly,
    Oui, avec excel je connais, mais c'est avec l'utilisation de Delphi, que je posais la question
    avec la formule =$A$1, on recopie la formule dans toutes les autres qui auront donc cette formule, alors qu'avec la formule = A1 le chiffre de la ligne s'incrémente dans les autre cellules.
    le signe $ la formule est bloquée sur la cellule.
    Mais avec Delphi, le signe $ sert à quoi puisque dans ce cas, on ne recopie pas de formules on définie une adresse.
    OleApplication.Range [A1].value:= mavaleur;
    ou
    OleApplication.Range [$A$1].value:= mavaleur;
    Avec Delphi, il n'y à pas de différence, d'où ma question
    Cordialement

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Bonsoir,
    Tu fais les questions et les réponses, mais on ne sait pas à quoi répondre, du coup...
    Pourquoi faut-il utiliser le caractère $ dans une référence absolue ?.

    Lorsque l'on utilise Delphi et Excel, quelle est la différence entre :
    ExcelApplication.Range['A2','A36'] et ExcelApplication.Range['$A$2','$A$36']
    Avec Delphi, il n'y à pas de différence, d'où ma question
    Mais avec Delphi, le signe $ sert à quoi puisque dans ce cas, on ne recopie pas de formules on définie une adresse.
    Si tu affirmes qu'il n'y a pas de différence, pourquoi poser la question ?
    La lecture du msdn ne me laisse pas supposer que l'objet Excel OLE autorise l'écriture avec les $ dans Range, mais je n'ai pas vérifié. Celle de John Colibri non plus.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par eric_de_bretagne Voir le message
    Lorsque l'on utilise Delphi et Excel, quelle est la différence
    Quand tu utilises Excel depuis un programme Delphi, ce n'est pas Delphi qui fait les calculs, c'est Excel. Il faut donc que tu utilises ce que tu utiliserais directement sur Excel. Delphi dans ce cas n'est qu'un outil permettant de programmer les manipulations à exécuter par Excel sur les feuilles de calcul.

  6. #6
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    bonjour,

    et donc, à mon avis, il n'y a pas de différence entre ExcelApplication.Range['A2','A36'] et ExcelApplication.Range['$A$2','$A$36']

    à vérifier que les 2 fonctionnent ...

    A+
    Charly

  7. #7
    Inactif  
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 47
    Points : 29
    Points
    29
    Par défaut
    Bonjour à tous;
    Un grand merci à vous tous de m'avoir répondu, depuis longtemps j'utilise Delphi et Excel, et il m'est arrivé de constater que les deux exemples
    Range['A1'] et .Range['$A$1']
    @ Tourlourou
    J'utilisais jusque-là les deux sans remarquer de différence, les deux fonctionnent bien
    , "Colibri".... , il n'y à rien d'explicite ni de formateur dans ses zips.
    Je n'ai pas l'habitude de faire les choses sans les comprendre , même si il n'y à pas de différence, je pensais qu'il y avait une raison.
    Merci pprem, tu as répondu à ma question
    À tous cordialement

Discussions similaires

  1. problème installation à cause d'excel (référence)
    Par greg26 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/09/2007, 09h14
  2. Réponses: 1
    Dernier message: 26/05/2007, 15h20
  3. [VBA Excel] référence necessaire pour OLEObjects
    Par gatsu07 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/08/2006, 08h51
  4. VBA Excel : références
    Par EJO64 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/01/2006, 13h33
  5. [EXCEL] : référence circulaire à cause d'une macro
    Par repié dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/01/2006, 10h41

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