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 :

Excel -> changer la cellule active


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Par défaut Excel -> changer la cellule active
    Bonjour,

    Je voudrais changer de place la cellule active pour ensuite figer les volets, par défaut quand je créé une feuille elle ce met en A1
    Comment faire !!!
    j'ai donc trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variant vRangeAdress = vRange.OlePropertyGet("Address");
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vRange= vMSExcel.OlePropertyGet("Selection");
    et donc ensuite je change le Get en Set
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OlePropertySet("Address", "B2");
    mais en vain,

    Merci d'avance pour votre grande aide.

  2. #2
    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
    sony351 a ecrit:
    Bonjour,

    Je voudrais changer de place la cellule active pour ensuite figer les volets, par défaut quand je créé une feuille elle ce met en A1
    Comment faire !!!
    j'ai donc trouvé
    Code :
    Variant vRangeAdress = vRange.OlePropertyGet("Address");ou encore
    Code :
    vRange= vMSExcel.OlePropertyGet("Selection");et donc ensuite je change le Get en Set
    Code :
    OlePropertySet("Address", "B2");mais en vain,

    Merci d'avance pour votre grande aide.
    peut etre en essayant ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // on selectionne la cellule "A1"
    vRange = vWorksheet.OlePropertyGet("Range", "A1");

  3. #3
    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
    Pour figer les volets un petit bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // on selectionne la Feuille active
    // ici ("Worksheets", 1) peut etre remplace par ("Worksheets", "LeNomDeLaFeuille")
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    // on selectionne la cellule qui sert a positionner les volets
    vRange = vWorksheet.OlePropertyGet("Range", "B4");
    // on selectionne la cellule
    vRange.OleProcedure("Select");
    // soit on fige soit on libere les volets
    vMSExcel.OlePropertyGet("ActiveWindow").OlePropertySet("FreezePanes", true); // pour liberer les volets remplacer "true" par "false"

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par défaut
    J'utilise le code suivant pour parcourir les cellulles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vRange = AnsiToOLESTR(("G" + IntToStr(B)).c_str()); // on sélectionne la cellule suivante
    vCell = vWorksheet.OlePropertyGet("Range", vRange);
    Si cela peut vous aider.

    Il me semble que l'on change de feuille ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
    vUsedRange = vWorksheet.OlePropertyGet("UsedRange");
    Bien entendu, toute les variables commençant par "v" sont des variants.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 94
    Par défaut
    ça marche pas,

    j'ai l'erreur suivante sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vRange.OleProcedure("Select");
    Le projet Project1.exe a provoqué une classe d'exception EOleSysError avec le message 'Une exception s'est produite'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.

  6. #6
    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
    sony351 a ecrit:
    ça marche pas,

    j'ai l'erreur suivante sur la ligne
    Code :
    vRange.OleProcedure("Select");Le projet Project1.exe a provoqué une classe d'exception EOleSysError avec le message 'Une exception s'est produite'. Processus stoppé. Utilisez Pas-à-pas ou Exécuter pour continuer.
    A tu selectionne ta feuille
    A tu selectionne ta cellule
    Regarde le code que je t'ai passe ca marche normalement tu n'a qu'a modifier l'adresse de la cellule ("B4") par celle qui te convient.
    Sinon fait voir un peu plus de code.

Discussions similaires

  1. Récuperation de plusieurs cellules actives d'excel vers VBA
    Par root1k1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/11/2012, 09h51
  2. [WD14] changer format cellule d'Excel
    Par WidgetZorg dans le forum WinDev
    Réponses: 2
    Dernier message: 21/10/2009, 16h59
  3. Cellule active Excel et VB
    Par j-lo28 dans le forum VB.NET
    Réponses: 1
    Dernier message: 29/12/2008, 10h32
  4. Problème EXCEL : Récupérer la ligne d'une cellule active
    Par Kok1k1du dans le forum C++Builder
    Réponses: 10
    Dernier message: 17/11/2008, 13h04
  5. Cellule active dans Excel
    Par chyriu84 dans le forum C++Builder
    Réponses: 8
    Dernier message: 06/06/2008, 14h10

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