Date: prev next · Thread: first prev next last
2014 Archives by date, by thread · List index


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.