Bonjour Lucien, bonjour à tous,
Merci pour tes tests, le repas n'est pas terminé ;-) Je ne souhaite pas 
tester le type mais 2 cellules entre elles.
Je confirme que le .string permet en effet de tester le contenu. Merci 
Lucien.
Je pense donc que mon problème vient de la définition des variables.
Reprenant le code de Lucien, je peux en effet tester les cellules. J'ai 
adapté à mon cas plus précis.
Mais la problématique est qu'il s'agit de boucler dans un tableau.
Donc, je n'utilise pas une cellule précise  comme
 v_feuille.getCellRangeByName("B2")
mais la position x,y de la cellule
    v_cellNum=Mafeuille.getCellByPosition(1,j)
Et c'est là que cela ne marche plus.
J'ai avancé toutefois. La cellule me renvoie maintenant #NOM au lieu de 
0. Promis, j'ai vérifié les casses et réalisé des copier-coller de tous 
mes noms.
Au cas où le sujet intéresserait...
Fichier ici. (celui de Lucien avec le cas boucle et le cas qui marche 
sans boucle)
http://cjoint.com/?DKlloMIg2hx
J'ai créé quasi le cas qui me concerne. Un feuille contenant des 
données. Une autre feuille qui sélectionne une personne.
La macro doit récupérer les lignes de la base qui correspondent au nom 
sélectionné dans la liste et boucler sur toutes les lignes.
Le but final étant un copier collage spéciale des valeurs. Mais ceci 
sera l'objet d'un autre fil car je n'ai rien trouvé sur le collage 
spécial ;-)
Merci de votre aide.
Marie-Jo
Le 11/11/2014 00:15, lutch a écrit :
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
-----
Aucun virus trouvé dans ce message.
Analyse effectuée par AVG - www.avg.fr
Version: 2015.0.5315 / Base de données virale: 4189/8549 - Date: 
10/11/2014
--
Marie jo KOPP CASTINEL
Société OpenGo
http://www.opengo.fr
Soutenez la bureautique libre
http://www.lamouette.org
--
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.