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

API, COM et SDKs Delphi Discussion :

excel : numéro de la feuille active


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 51
    Par défaut excel : numéro de la feuille active
    Bonjour,
    je cherche a savoir quelle est le numéro de la feuille excel qui est en cours d'utilisation. (delphi 7 et excel2007 avec l'unité Comobj)
    je prends la main sur excel par:

    Excel := GetActiveOleObject('Excel.Application');
    Feuille := Excel.WorkSheets['Feuil1'];


    comment récupérer l'integer qui représente 'Feuil1'?
    La question doit etre super basic mais je ne trouve pas.

    j'ai essayé :

    numfeuille := excel.activesheet.itemindex; //numfeuille : integer
    j'obtiens une erreur OLE car itemindex n'est reconnu...

    Merci.
    Existe t-il une doc contenant les fonctions et procédures et constantes de pilotage d'excel par delphi ?

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Je pense que la MSDN Excel devrait contenir toutes les informations comme les propriétés de WorkSheet

    ItemIndex désigne plutôt une sélection, alors que "Index" indique plutôt la position d'un objet dans une collection
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 51
    Par défaut
    le lien me donne de très bonnes informations sur le pourquoi mais quand je passe au comment...

    j'essaye avec:

    numfeuille := excel.sheets.index;

    toujours message: erreur Ole methoe 'Index' non supportée
    Je dois vraiment être nul !

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par défaut
    Tu peux aussi regarder Description de l'objet Feuille de calcul dans Excel, comme c'est en VBA, c'est aussi du Late Binding !

    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Excel := GetActiveOleObject('Excel.Application');
    Feuille := Excel.WorkSheets['Feuil1'];
    numfeuille := Feuille.Index;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    numfeuille := Excel.ActiveSheet.Index;
    Attention comme en Late Binding on a aucun contrôle à la compilation, il faut être rigoureux sur les noms, ActiveSheet et Sheets[] ce n'est pas la même chose
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 51
    Par défaut
    Merci beaucoup pour les liens très interressants et pour la réponse.
    Ca marche.
    Cela confirme ma nullité mais je progresse !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2011, 15h01
  2. [vba excel] Urgent Pb De Feuille Active
    Par Kevin_18 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/06/2007, 08h25
  3. [Excel] - former une chaîne avec valeur de la feuille active ?
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/02/2007, 15h54
  4. [VBA-Excel]Aller sur une feuille sans l'activer.
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/10/2006, 12h50
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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