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 :

Boucler dans une plage de cellules


Sujet :

OpenOffice & LibreOffice

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Points : 30
    Points
    30
    Par défaut Boucler dans une plage de cellules
    Bonjour,
    J'ai trouvé dans les FAQ le code suivant pour boucler dans une plage de cellules.
    http://openoffice-libreoffice.develo...ge-de-cellules
    Mais j'ai besoin de cdeux choses :
    1- Au cours de la boucle dans la plage "A1:B15", je voudrais afficher les références de chacune des cellules (exemple : A1, A2, A3, ..., B14, B15)
    2- Je voudrais afficher toutes les cellules, même si elles sont vides

    Merci pour l'assistance

  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 609
    Points
    58 609
    Billets dans le blog
    11
    Par défaut
    Je ne comprends pas ce que tu veux faire
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Points : 30
    Points
    30
    Par défaut
    Déjà Merci pour ta réponse.
    L'idée est la suivante. Je parcoure une plage de données ("A1:B15" par exemple). Certaines cellues sont vides et d'autres contiennent des données. Je dois créer un fichier texte dans lequef j'écris pour chaque cellule (même vide) ce qui suit :
    Reference_Cellule##Contenu_Cellule.
    En plus clair, je dois avoir dans le fichier texte :
    A1##1500
    A2##800
    A3##Bonjour
    A4##01/10/2014
    A5## (La cellule A5 est vide)
    ...
    ...
    B14##2500
    B15##100

    Je sais comment créer et écrire dans mon fichier texte. Mais ce que je ne sais pas faire, c'est de récupérer les reference des cellules qui sont parcourues. D'autre part, l'énumération ne donne pas les cellules vides de la plage alors que j'aimerais bien les avoir.

    Merci

  4. #4
    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 609
    Points
    58 609
    Billets dans le blog
    11
    Par défaut
    Et avec 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
    Sub BouclePlageCellules 
        Dim monDocument As Object
        Dim lesFeuilles as Object
        Dim maFeuille As Object
        Dim maCellule As Object
     
        monDocument = ThisComponent
        lesFeuilles = monDocument.Sheets
        maFeuille = lesFeuilles.getByName("Feuille1")
     
        For i = 0 to 1
            For j = 0 to 14
                maCellule = maFeuille.getCellByPosition(i,j)
                If maCellule.String = "" then
                    Txt = "Cellule Vide"
                    Else
                    Txt = maCellule.String
                End If
                MsgBox "Colonne : " & i + 1 & " - Ligne : " & j + 1 & " - Valeur : " & Txt
            Next
        Next
    End Sub
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Points : 30
    Points
    30
    Par défaut
    Merci zoom61.
    Cette procédure marche, mais ....
    La plage "A1:B15" n'était qu'un exemple. Il me reste à généraliser sur une plage quelconque qui serait passée en paramètre à la procédure. Donc le défi à cette étape c'est de pourvoir convertir automatiquement "A1:B15" (ou toute autre plage de la même forme "AB8:AD450") en valeurs de parcours pour les variables i et j.
    Merci

  6. #6
    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 609
    Points
    58 609
    Billets dans le blog
    11
    Par défaut
    Attention, dans le cas d'un positionnement avec ces données, il faut commencer par la valeur "0"
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2004
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 34
    Points : 30
    Points
    30
    Par défaut
    Merci pour l'avertissement !
    Une autre préoccupation. à partir du code suivant http://openoffice-libreoffice.develo...ge-de-cellules, comment puis-je afficher le référence de la cellule et non son contenu ?
    Merci

  8. #8
    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 609
    Points
    58 609
    Billets dans le blog
    11
    Par défaut
    Avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Ligne = maCellule.cellAddress.row
    Colonne = maCellule.cellAddress.column
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

Discussions similaires

  1. Changement dans une plage de cellule
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/07/2008, 12h44
  2. [PEAR] Écrire dans une plage de cellules depuis PHP
    Par fthem dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/06/2008, 15h37
  3. [OpenOffice][Tableur] Ecrire dans une plage de cellule
    Par jmjmjm dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 08/05/2007, 15h20
  4. Pb de lecture données dans une plage de cellule avec itération
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/07/2006, 14h33
  5. Remplacer "#N/A" dans une plage de cellule.
    Par Yogi_01 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/04/2006, 15h59

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