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

C++Builder Discussion :

Cellule active dans Excel


Sujet :

C++Builder

  1. #1
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut Cellule active dans Excel
    Bonjour, voici mon probleme, je voudairs récupérer l'adresse de la cellule qui est active (cliquée) dans un fichier Excel. Hélas après avoir parcouru le forum et la FAQ en long en large et en travers je ne trouve pas.

    J'utilise Borland C++ Builder 6 et le pilotage OLE d'Excel.
    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    Est-ce que ceci ne répondrais pas à ta question ?
    http://cpp.developpez.com/faq/bcb/?p...lectionaddress

  3. #3
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    Hélas non, je ne vois pas comment je pourrais récuperer l'addresse da ma cellule active avec les fonction présente dans la FAQ.

    Au début j'avais tenté ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vCells = vMSExcel.OlePropertyGet("ActiveCell");
    Mais ce code me retourne la valeur contenue dans la cellule active et non son adresse.


    Merci encore de m'aider

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui, mais en faisant le code que je t'ai passé en lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vSelection = vRange.OlePropertyGet("Address");
    Il devrait te renvoyé la sélection, et donc, si seulement une case est sélectionné, cela devrait te renvoyé ta case actif.

  5. #5
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    Il me sort une erreur "IsBound() @c:\........" EVariantTypeCastError : Impossible de convertir le variant de type Olestr en variant de type Dispatch

    Sinon en passant en paramètre "ActiveCell" dans une fonction/propriété (que je ne connais pas ) ça ne marcherai pas??

  6. #6
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    Je trouve toujours pas.
    La selection de cellule ne marche pas, car je ne sais pas à "combien" vRange doit etre initialisé.

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut chyriu84
    peut etre en essayant ceci qui fonctionne chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String adresse_cellule = vMSExcel.OlePropertyGet("ActiveCell").OlePropertyGet("Address");

  8. #8
    Membre habitué
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Par défaut
    Merci beaucoup ça marche enfin.
    Par contre je voudrais savoir si il existe une FAQ ou un tutoriel dédié au pilotage OLE, qui contiendrai les différents parametres et les différente syntaxes possibles??


    Encore merci à vous tous pour votre aide.

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Il n'existe a ma connaissance aucun support pour programmer OleExcel, tu a la FAQ BCB qui a deja bon monbre d'exemple apres c'est une question de recherche personnelle, et en dernier recour le Forum

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

Discussions similaires

  1. [Débutant] Effacer cellule vide dans excel depuis vb.net
    Par tarrex dans le forum VB.NET
    Réponses: 1
    Dernier message: 12/03/2012, 18h39
  2. cellules inclinées dans Excel
    Par Louisa2005 dans le forum Excel
    Réponses: 3
    Dernier message: 17/11/2009, 17h05
  3. Lister les cellules nommées dans Excel en perl
    Par Pozzo dans le forum Langage
    Réponses: 3
    Dernier message: 21/09/2009, 21h10
  4. Test de cellule activée dans une colonne permanent
    Par pisistrate dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/08/2007, 13h47
  5. cellule protégé dans excel
    Par wayak3 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 28/03/2007, 17h17

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