Avant de me coucher…
Le problème m'ayant aiguisé l'appétit, j'ai continué un peu pour aboutir
à quelque chose de plus propre
Code Basic
Sub LireCellBis
'=======variables========
dim v_2doc as object, v_2feuille as object, v_2cellTest as object
Dim v_2cellString as string, v_2valueT as variant, v_2cellType as variant
v_2doc=ThisComponent
v_2feuille=v_2doc.sheets.getbyname("Feuille1")
v_2cellTest=v_2feuille.getCellRangeByName("B2")
v_2valueT=v_2CellTest.Value
v_2cellType=v_2CellTest.Type 'pour voir
v_2cellString=v_2CellTest.String
'========================
Select Case v_2valueT
Case 1
msgbox "La cellule contient un nombre"
Case 2
msgbox "La cellule contient du texte"
Case 0
msgbox "La cellule contient l'expression : " +""""+v_2CellTest.string+""""
End Select
End Sub
Fichier exemple
http://cjoint.com/?0KlaqNFmZDP
Lucien
Le 10/11/14 21:28, lutch a écrit :
Bonsoir,
je me suis piqué au jeu de trouver une réponse, pour m'exercer.
Le code ci-dessous est-il correct dans un cas analogue à celui de
Marie-Jo ?
Sub lirecell
dim v_doc as object, v_feuille as object, v_cellTest as object,
v_cellNum as object, v_valueT as variant, v_valueN as variant
v_doc=ThisComponent
v_feuille=v_doc.sheets.getbyname("Feuille1")
v_cellTest=v_feuille.getCellRangeByName("B2")
v_valueT=v_CellTest.Type
if v_valueT=1 then
msgbox "La cellule contient un nombre"
elseif v_valueT=2 then
msgbox "La cellule contient du texte"
else
v_valueT=v_cellTest.value 'ligne de contrôle de la variable
msgbox "La cellule ne contient rien"
end if
End Sub
Ne sachant pas encore coder les "Case" en LibreOffice Basic, la
méthode est assez rustique.
Lucien
Le 10/11/14 18:56, Marie jo Libo a écrit :
Bonsoir,
Merci pour cette confirmation. Je vais donc voir où est le problème.
Pas dans la casse malheureusement ;-)
La récupération du .string me renvoie inlassablement 0 :-(
Marie-Jo
Le 10/11/2014 16:43, pierre-yves samyn a écrit :
Bonjour Marie-Jo
Si tu veux tester le texte affiché par une cellule calculée, c'est bien
la propriété string qu'il faut utiliser.
Si cela ne fonctionne pas dans ton cas c'est peut-être parce que
tu fais ce que tu écris :
Marie jo Libo wrote
Concrètement : Critere = Toto
Si cellule="toto" alors traitement
toto est différent de Toto
Tu peux par exemple convertir en minuscule de cette façon :
if lcase(maCelluleTest.string) = "toto" then
Cordialement
Pierre-Yves
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.