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

OpenOffice & LibreOffice Discussion :

récupérer données sur une autre feuille dans le même classeur [OpenOffice][Tableur]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut récupérer données sur une autre feuille dans le même classeur
    Bonjour, j'ai un classeur dans lequel j'ai une feuille_1 intitulée "calcul vins de fruits" et dans laquelle il faut introduire la "densité"
    je voudrais récupérer dans la feuille_2 "densitespoires" les valeurs "sucre" et "alcool" pour la "densité" correspondante.
    j'ai fait la partie de recherche (voir ci-dessous) mais je ne sais pas comment aller sur la feuille_2 et recopier ces données ?
    cordialement Alain

    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
    28
    29
    30
    Sub ControlerContenuCellule 
    Dim oDoc As Object , Feuille As Object , densite as integer , indx as integer
    Dim Cellule As Object , cellulesuc As Object ,  cellulealc As Object 
    dim casein as string , casesuc as string , casealc as string
     
    oDoc = ThisComponent 
    Feuille = oDoc.getSheets.getByName("densitespoires")
    rem densite doit venir de la feuille "calcul vins de fruits"
    densite = 1050
    for indx = 1 to 80 
    casein = "A" + indx
    casesuc = "b" + indx
    casealc = "c" + indx
    Cellule = Feuille.getCellRangeByName(casein)
    cellulesuc = Feuille.getCellRangeByName(casesuc)  
    cellulealc = Feuille.getCellRangeByName(casealc)
     
    rem MsgBox casein & " av densite: "  & Cellule.Value  & "sucre : "  &  cellulesuc.Value &  "alcool : "  &  cellulealc.Value 
     
    Select Case Cellule.value 
      Case  densite
        MsgBox "densite: "  & Cellule.Value & " sucre : " & cellulesuc.Value & " alcool : " & cellulealc.Value 
        exit for
      Case com.sun.star.table.CellContentType.EMPTY 
        Msgbox "Vide" 
        exit for
    End Select 
    next
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Quelque chose comme cela :
    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
    sub zoom61
        Dim monDocument As Object, lesFeuilles As Object 
        Dim maFeuille1 As Object, maFeuille2 As Object, maZone As Object, maCellule As Object    
        Dim jeCherche As Object, trouv As Variant
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille1 = lesFeuilles.getByName("calcul vins de fruits")
        maFeuille2 = lesFeuilles.getByName("densitespoires")
        maZone = maFeuille2.getCellRangeByName("A1:A1000")
        jeCherche = maZone.createSearchDescriptor
        with jeCherche
          .SearchString = 1050 'mettre ici la valeur, cela peut-être le contenu d'une cellule
          .SearchWords = false 
        end with
        trouv = maZone.findFirst(jeCherche)
        Do Until isNull(trouv)
          Ligne = trouv.CellAddress.Row
          Sucre = maFeuille2.getCellByPosition(1,Ligne).value
          Alcool = maFeuille2.getCellByPosition(2,Ligne).value
          maCellule = maFeuille1.getCellRangeByName("G35")
          maCellule.Value = Sucre
          maCellule = maFeuille1.getCellRangeByName("J35")
          maCellule.Value = Alcool
          trouv = maZone.findNext(trouv, jeCherche)
        Loop
    end sub

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut MERCI
    Un grand merci pour votre aide, j'ai un peu galéré pour mettre la variable "densité" de la feuille_1 mais maintenant tout fonctionne
    très cordialement Alain

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

Discussions similaires

  1. [XL-2003] Transcription des données sur une autre feuille
    Par yfchauer dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/05/2014, 09h47
  2. trier et copier des données sur une autre feuille excel
    Par mirage37 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/07/2012, 17h08
  3. Réponses: 2
    Dernier message: 16/12/2011, 19h20
  4. [XL-2003] Reporter la valeur d'une textbox à un tableau de donné sur une autre feuille
    Par deamonRav dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 25/03/2010, 17h13
  5. listbox : données sur une autre feuille
    Par jmcemoa dans le forum VBA Word
    Réponses: 6
    Dernier message: 20/02/2008, 19h28

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