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écuperer la valeur de la même céllule de toutes les feuilles


Sujet :

Delphi

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut Excel:récuperer la valeur de la même céllule de toutes les feuilles
    salut à toutes et à tous,

    je n'arrive pas à récuperer la valeur de la même céllule de toutes les feuilles d'un fichier excel et l'ajouter par la suite à une Listbox.

    ex:
    feuille1:cellule : 'F6'
    feuille2:cellule : 'F6'.
    feuille3:cellule : 'F6'.
    Merci.

    A+

    NABIL74

  2. #2
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut


    quel est ton souci ? qu'as-tu essayé qui n'ait pas marché ?

    normalement, si tu sais travailler avec un classeur excel tu peux avoir le nombre de feuilles du classeur. si tu sais travailler avec une feuille excel, tu pourras lire la valeur de ta cellule. le tout c'est de boucler sur les feuilles du classeur et de lire toujours la même cellule.

    dis nous exactement où tu as des soucis.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 453
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 453
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour à toutes et à tous,

    @ Nabil74, une petite boucle et peut être une piste :

    Pour accéder à une cellule, nous pouvons utiliser:

    soit my_worksheet.Cells[ligne, colonne]

    dans notre cas, si nous créons directement une WorkSheet, nous pouvons même utiliser:

    my_ole_application.Cells[2, 12]:= 123;

    nous pouvons aussi utiliser my_application.Selection:

    my_ole_application.Cells[3, 7].Select;
    ...
    my_ole_application.Selection:= 912;

    ou my_application.ActiveCell au lieu d'indexer Cells

    Au lieu de désigner la cellule par ses coordonnées, nous pouvons indiquer la plage par la propriété Range:

    my_ole_application.Range[D18].Value:= 567;
    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    { Nouvelle instance }
      vMSExcel := CreateOleObject('Excel.Application');
      vMSExcel.Visible := true ;
     
      { Ouverture d'un classeur }
      fichier := '\\Mon_Fichier.xls';
      vXLWorkbooks := vMSExcel.Workbooks;
      vXLWorkbook := vXLWorkbooks.Open(fichier);
     
      { Accéder à une feuille de calcul }
      aSheetName := 'Feuil1';
      vWorksheet := vXLWorkbook.WorkSheets[aSheetName];
     
      { Lire la colonne B }
      i := 1;
      while i<= 47 do
      begin
          aRange:='B'+inttostr(i);
          vCell := vWorksheet.Range[aRange];
          aValue := vCell.Value;
          if aValue <> '' then
              begin
                   showmessage(aValue);
              end;
          i := i + 1;
      end;
    Ou :

    Lien : @+,

    Cincap

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    bonjour à toutes et à tous,

    Citation Envoyé par evarisnea Voir le message


    normalement, si tu sais travailler avec un classeur excel tu peux avoir le nombre de feuilles du classeur. si tu sais travailler avec une feuille excel, tu pourras lire la valeur de ta cellule. le tout c'est de boucler sur les feuilles du classeur et de lire toujours la même cellule.

    dis nous exactement où tu as des soucis.
    merci evarisnea

    oui je me débrouille assez bien avec excel.
    hier, juste après mon post, je suis parvenu à obtenir le nombre de feuilles avec worksheets.count et après j'ai bouclé sur toutes les feuilles du classeur et j'ai pu récuperer la valeur de la même cellule et l'ajouter par la suite à une Listbox.

    @ mon frère cincap ,

    merci pour ton aide ,t'es toujours là pour aider,
    j'ai récuperer la valeur de cellule en utilisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Xlapp.Range['F6'].Value
    .

    Pour moi, ce topic est résolu.

    Merci et bonne journée.

    NABIL74

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/10/2012, 19h31
  2. Réponses: 1
    Dernier message: 14/06/2009, 13h45
  3. Réponses: 5
    Dernier message: 04/06/2008, 10h03
  4. Comment parcourir toutes les feuilles d'un classeur excel?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/02/2007, 20h47
  5. VBA Excel , récuperer la valeur des options buttons
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2006, 14h25

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