[Calc] Chiffre arrondi et recherche chaîne de texte
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- NOOuvel adepte
- Messages : 19
- Inscription : 06 juil. 2023 17:43
[Calc] Chiffre arrondi et recherche chaîne de texte
Bonjour
suite à mon post précédent viewtopic.php?t=68059 j'essai de comparer un chiffres avec plus de deux décimales avec un autre qui n'en a que deux.
Sur ma cellule j'applique la formule =ARRONDI.SUP(185,5468;2) dans mon exemple ce qui me donne 185.55 dans ma cellule (ou ARRONDI tout court ca fait pareil)
Au début je passais par un for en comparant if cellule1 = cellule2 et ca fonctionnait mais je souhaite plutôt utiliser la deuxième méthode avec with SearchString et la ça ne fonctionne plu.
Avec la 2eme méthode si je cherche 185.55 ca je trouve pas le chiffre mais je mets 185.54 la ca le trouve, comment puis je régler le problème ?
Merci pour votre aide
suite à mon post précédent viewtopic.php?t=68059 j'essai de comparer un chiffres avec plus de deux décimales avec un autre qui n'en a que deux.
Sur ma cellule j'applique la formule =ARRONDI.SUP(185,5468;2) dans mon exemple ce qui me donne 185.55 dans ma cellule (ou ARRONDI tout court ca fait pareil)
Au début je passais par un for en comparant if cellule1 = cellule2 et ca fonctionnait mais je souhaite plutôt utiliser la deuxième méthode avec with SearchString et la ça ne fonctionne plu.
Avec la 2eme méthode si je cherche 185.55 ca je trouve pas le chiffre mais je mets 185.54 la ca le trouve, comment puis je régler le problème ?
Merci pour votre aide
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 06 déc. 2023 05:11, modifié 1 fois.
Raison : TO : "[Calc] Probléme arrondi et with SearchString" / Titre explicite, merci d'éviter les termes implicites ("problème")
Raison : TO : "[Calc] Probléme arrondi et with SearchString" / Titre explicite, merci d'éviter les termes implicites ("problème")
Libreoffice 7.5.4.2 (X86_64) Linux
-
- PassiOOnné
- Messages : 692
- Inscription : 20 déc. 2017 14:45
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Bonjour,
Arrondir n'est pas tronquer
Oui et je vous ai posé une question à laquelle vous n'avez pas répondu.
Arrondir n'est pas tronquer
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.15 - Windows 10
-
- NOOuvel adepte
- Messages : 19
- Inscription : 06 juil. 2023 17:43
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Bonjour
Je ne veux pas tronquer mais bel et bien arrondir, comme spécifié dans l'exemple =ARRONDI(185,5468;2) me donne 185.55 or quand je cherche avec la fonction with searshstring ben ca me trouve pas 185.55 pourtant c'est bien la valeur marquée dans la cellule.
Je n'ai pas répondu car le post est résolu et donc fermé
Je ne veux pas tronquer mais bel et bien arrondir, comme spécifié dans l'exemple =ARRONDI(185,5468;2) me donne 185.55 or quand je cherche avec la fonction with searshstring ben ca me trouve pas 185.55 pourtant c'est bien la valeur marquée dans la cellule.
Je n'ai pas répondu car le post est résolu et donc fermé
Libreoffice 7.5.4.2 (X86_64) Linux
-
- PassiOOnné
- Messages : 639
- Inscription : 09 août 2017 22:15
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Hello,
Avec ce code la recherche fonctionne.
[EDIT] En plus précis :
Ami calmant, J.P
Effectivement je constate le problème que ce soit sous LibreOffice ou OpenOffice. Un moyen de contournement consiste à utiliser la recherche en employant une expression régulière qui cherche le nombre avec un nombre à une seule décimale suivi d'un chiffre quelconque :
Code : Tout sélectionner
oSearch = oRange.createSearchDescriptor
With oSearch
.SearchString = "185,5\d{1}"
.SearchCaseSensitive = false
.SearchWords = false
.SearchRegularExpression = true
End With
oFound = oRange.findFirst(oSearch)
if NOT (isNull(oFound)) then
Msgbox(Val &" Trouvé " & oFound.String)
else
msgbox("non trouvé")
end if
[EDIT] En plus précis :
Code : Tout sélectionner
Dim DerCar As String
Val = "185,55"
DerCar = Right(Val,1)
Val = Left(Val,len(Val) - 1)
'Méthode2
oSearch = oRange.createSearchDescriptor
With oSearch
.SearchString = Val & "[" & CStr(Cint(DerCar)-1) & "," & CStr(Cint(DerCar)) & "]{1}"
.SearchCaseSensitive = false
.SearchWords = false
.SearchRegularExpression = true
End With
oFound = oRange.findFirst(oSearch)
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- GourOOu
- Messages : 9804
- Inscription : 18 sept. 2006 09:40
- Localisation : France
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Bonjour,
Étant néophyte en macro, ce qui suit n'est peut-être pas applicable, mais il n'y aurait pas moyen de chercher directement l'arrondi ?
Un truc du genre :
A +
Étant néophyte en macro, ce qui suit n'est peut-être pas applicable, mais il n'y aurait pas moyen de chercher directement l'arrondi ?
Un truc du genre :
Code : Tout sélectionner
With oSearch
.SearchString = cdbl(format(185,5468 , "0.00"))
.SearchCaseSensitive = false
.SearchWords = false
.SearchRegularExpression = true
End With
-
- NOOuvel adepte
- Messages : 19
- Inscription : 06 juil. 2023 17:43
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Bonjour et merci pous vos reponses mais hélas il est important pour moi que les 2 décimales soients gérées, ca ne me laisse pas d'autre choix que d'utiliser une boucle for
Je ne mets pas le post en résolu vu qu'il ne l'est pas, cela semble être une sorte de bug
Je ne mets pas le post en résolu vu qu'il ne l'est pas, cela semble être une sorte de bug
Libreoffice 7.5.4.2 (X86_64) Linux
-
- PassiOOnné
- Messages : 692
- Inscription : 20 déc. 2017 14:45
Re: [Calc] Chiffre arrondi et recherche chaîne de texte
Re,
Je ne vois pas pourquoi cela serait un bug
Basic fait la comparaison avec ce que vous lui fournissez.
Si vous voulez comparer deux chaînes, il faut l'indiquer :
Le fait de nommer une chaîne (string) avec le nom "Val" me semble inaproprié
Je ne vois pas pourquoi cela serait un bug
Basic fait la comparaison avec ce que vous lui fournissez.
Si vous voulez comparer deux chaînes, il faut l'indiquer :
Code : Tout sélectionner
Nomfeuille="M"
oFeuille=thisComponent.Sheets.getbyname(Nomfeuille)
oPlageRecherche = "F3:F50"
oRange = thisComponent.Sheets.getbyname(Nomfeuille).getCellRangeByName(oPlageRecherche)
oCell = thisComponent.Sheets.getbyname(Nomfeuille).getCellRangeByName("F37")
Val = "185,55"
'Méthode1
if oCell.string = Val then
msgbox ("egaux")
else
msgbox("pas egaux")
end if
OpenOffice 4.1.15 - Windows 10