[Résolu] [Calc]Rechercher données OU

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: 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 !
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

[Résolu] [Calc]Rechercher données OU

Message par bebertdu01 »

Bonjour,

J'ai un classeur avec un code qui me permets d'effectuer une recherche d'information en fonction de plusieurs critères (dialogue 1 dans fichier test).
Ce fichier est contitué d'une feuille résultat et d'une feuille listing. Un bouton sur la feuille resultat lance un dialogue pour inserer tous les critères pour effectuer la recherche.
Ce fichier fonctionne. Cependant par souci d'efficacité, j' aimerais aussi ajouter des citères mais avec OR (ou)
Le problème c'est que le code ne fonctionne que avec AND et je n'ai pas le niveau pour le parametrer comme je le souhaite.
Ci-joint le fichier test:
RECHERCHER.ods
Dans le fichier joint, le dialogue2 represente ce que je souhaiterais faire:
Untitled.png
Pourriez-vous m'aider svp?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par bebertdu01 le 23 oct. 2021 18:23, modifié 1 fois.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25182
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc]Rechercher données OU

Message par Dude »

Salut,

Fais une recherche sur les fonctions CalcSQL
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc]Rechercher données OU

Message par zeguedon »

Bonjour,

Ton filtre devrait ressembler à ça :

Code : Tout sélectionner

Dim champsFiltre(5) As New com.sun.star.sheet.TableFilterField
With champsFiltre(0)
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle1
End With
With champsFiltre(1)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle2
End With
With champsFiltre(2)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque1
End With
With champsFiltre(3)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque2
End With
With champsFiltre(4)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(5)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
Ta boite de dialogue n'étant pas encore construite dans ton fichier joint, il faudra affecter aux variables : MotCle1, MotCle2, Marque1, Marque2, NumeroDebut, NumeroFin les champs correspondants de ta future boite de dialogue. Par exemple :

Code : Tout sélectionner

MotCle1 = Dlg.getControl("TextField2").Text
ou
Marque2 = Dlg.getControl("ListBox2").selecteditem
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Bonjour,

Encore merci de votre temps.
Jai apporté les modifications dans le fichier joint en fonction des indications que vous m'avez fournis.
Par compte, le resultat du filtrage n'est pas vraiment celui que je souhaite.

Ex: pour un mot clé seulement "porte" avec la marque "peugeot" pour une plage de numérotation comprise entre 0 et 99999.
Untitled.png
J'obtient le résultat suivant:
Untitled2.png
Normalement une seul ligne devrait etre affiché...

Voici le fichier:
RECHERCHER - VERSION 1.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Calc]Rechercher données OU

Message par Dolev »

Bonjour,

Regarde ton filtre standard. Il y a des doublons :
Capture.PNG
La macro ne fera rien de mieux.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.15 sous Windows 11
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Bonjour,

Je ne comprends pas bien, j'ai beau modifier les paramètres And et OR mais à chaque fois les résultats ne concordent pas.
Meme si je mets tous les parametres sur AND et le je laisse OR seulement pour mot clé 1 et mot cle 2 cela fonctionne pas non plus.
Ex avec:

Code : Tout sélectionner

With champsFiltre(0)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle1
End With
With champsFiltre(1)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle2
End With
With champsFiltre(2)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.EQUAL
.IsNumeric = False
.StringValue = Marque1
End With
With champsFiltre(3)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(4)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
Sans titre.png
J'obtients des résutats avec Fiat....
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libreoffice 7.5.8, windows 10 x64
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc]Rechercher données OU

Message par zeguedon »

Bonjour,

En fait il faut filtrer 3 fois, une fois la feuille LISTING sur les deux premiers critères, ensuite le résultat obtenu avec les deux critères suivants et enfin les deux derniers critères:

Code : Tout sélectionner

Option Explicit

sub Rechercher
call nettoyage
call filtrerDonnees()
end sub

Sub filtrerDonnees()
Dim x As Long
Dim Dlg As Object
Dim oDoc As Object
Dim lesFeuilles As Object
Dim maFeuille1 As Object
Dim maFeuille2 As Object
Dim maZone As Object
Dim feuilleResu As Object
Dim pointResu As Object
Dim monFiltre As Object
Dim MotCle1 As String
Dim MotCle2 As String
Dim Marque1 As String
Dim Marque2 As String
Dim NumeroDebut As Long
Dim NumeroFin As Long
Dim champsFiltre1(1) As New com.sun.star.sheet.TableFilterField
Dim champsFiltre2(1) As New com.sun.star.sheet.TableFilterField
Dim champsFiltre3(1) As New com.sun.star.sheet.TableFilterField
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog2)
Dlg.Execute() 

MotCle1 = Dlg.getControl("TextField2").Text
Motcle2 = Dlg.getControl("TextField1").Text    
Marque1 = Dlg.getControl("ListBox1").selecteditem
Marque2 = Dlg.getControl("ListBox4").selecteditem
NumeroDebut = Dlg.getControl("ListBox2").selecteditem
NumeroFin = Dlg.getControl("ListBox3").selecteditem
    
oDoc = ThisComponent
lesFeuilles = oDoc.Sheets
maFeuille1 = lesFeuilles.getByName("LISTING")
maFeuille2 = lesFeuilles.getByName("RESULTAT")
feuilleResu = lesFeuilles.getByName("RESULTAT")
pointResu = feuilleResu.getCellRangeByName("A1")

With champsFiltre1(0)
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle1
End With
With champsFiltre1(1)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle2
End With

With champsFiltre2(0)
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque1
End With
With champsFiltre2(1)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque2
End With

With champsFiltre3(0)
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre3(1)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With

For x = 1 To 3
    If x = 1 Then
        maZone = maFeuille1.getCellRangeByName("A1:D100000")
        monFiltre = maZone.createFilterDescriptor(True)
        With monFiltre    
        .FilterFields = champsFiltre1()
        .CopyOutputData = True
        .ContainsHeader = True
        .Orientation = com.sun.star.table.TableOrientation.COLUMNS
        .OutputPosition = pointResu.CellAddress
        End With
        maZone.filter(monFiltre)
    ElseIf x = 2 Then
        maZone = maFeuille2.getCellRangeByName("A1:D100000")
        monFiltre = maZone.createFilterDescriptor(True)
        With monFiltre    
        .FilterFields = champsFiltre2()
        .CopyOutputData = True
        .ContainsHeader = True
        .Orientation = com.sun.star.table.TableOrientation.COLUMNS
        .OutputPosition = pointResu.CellAddress
        End With
        maZone.filter(monFiltre)
    else    
        maZone = maFeuille2.getCellRangeByName("A1:D100000")
        monFiltre = maZone.createFilterDescriptor(True)
        With monFiltre    
        .FilterFields = champsFiltre3()
        .CopyOutputData = True
        .ContainsHeader = True
        .Orientation = com.sun.star.table.TableOrientation.COLUMNS
        .OutputPosition = pointResu.CellAddress
        End With
        maZone.filter(monFiltre)
    end if
next
End Sub


'-------------------------------------
sub nettoyage
Dim oSheet As Object, oRange As Object, nRep As Integer
oSheet = thisComponent.sheets.getByName("RESULTAT")
oRange = oSheet.getCellRangeByName("a2:d10000")
oRange.clearContents(1+2+4+16) '= constantes com.sun.star.sheet.CellFlags; efface les données de type (value + datetime + string + formula) 
end sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Bonsoir,

Encore merci pour le temps accordé. Le résultat s'approche de plus en plus.
J'ai testé votre fichier et je constate encore quelques petits problèmes:

1- Le filtre en fonction de la numerotaion ne se fait jamais. Nottament avec l'exemple ci-dessous. Le résultat affiche en permanence toutes les valeurs de 0 à 99999
Sans titre.png
2- Le filtre ne se fait plus correctement nottament quand le mot cle 2 est laissé vide. Comme dans l'exemple ci-dessous. Il n'y a plus de filtre constructeur, ils sont tous affichés
Sans titre.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Calc]Rechercher données OU

Message par Dolev »

bebertdu01 a écrit :Le filtre ne se fait plus correctement nottament quand le mot cle 2 est laissé vide.
Il faut tester si le champ est vide et ignorer la clause OR dans ce cas.
Open Office 4.1.15 sous Windows 11
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc]Rechercher données OU

Message par zeguedon »

bebertdu01 a écrit :Le filtre en fonction de la numerotaion ne se fait jamais.
Effectivement car le contenu de la zone de liste (ListBox) de ta boite de dialogue est au format texte alors que celui des cellules de ton tableau est au format numérique. Il suffisait juste de convertir la valeur récupérée dans la zone de liste avec la fonction Clng :

Code : Tout sélectionner

NumeroDebut = Clng(Dlg.getControl("ListBox2").selecteditem)
NumeroFin = Clng(Dlg.getControl("ListBox3").selecteditem)
Pour le reste, je crois que le bon schéma/raisonnement pour le filtrage et le suivant :

Code : Tout sélectionner

MotClé1 ET Marque1 ET >=NumeroDebut ET <=NumeroFin
OU
MotClé1 ET Marque2 ET >=NumeroDebut ET <=NumeroFin
OU
MotClé2 ET Marque1 ET >=NumeroDebut ET <=NumeroFin
OU
MotClé2 ET Marque2 ET >=NumeroDebut ET <=NumeroFin

Code : Tout sélectionner

Option Explicit

sub Rechercher
call nettoyage
call filtrerDonnees()
end sub

Sub filtrerDonnees()
Dim x As Long
Dim Dlg As Object
Dim oDoc As Object
Dim lesFeuilles As Object
Dim maFeuille1 As Object
Dim maFeuille2 As Object
Dim maZone As Object
Dim feuilleResu As Object
Dim pointResu As Object
Dim monFiltre As Object
Dim MotCle1 As String
Dim MotCle2 As String
Dim Marque1 As String
Dim Marque2 As String
Dim NumeroDebut As Long
Dim NumeroFin As Long
Dim champsFiltre(15) As New com.sun.star.sheet.TableFilterField
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.Dialog2)
Dlg.Execute() 

MotCle1 = Dlg.getControl("TextField2").Text
Motcle2 = Dlg.getControl("TextField1").Text    
Marque1 = Dlg.getControl("ListBox1").selecteditem
Marque2 = Dlg.getControl("ListBox4").selecteditem
NumeroDebut = Clng(Dlg.getControl("ListBox2").selecteditem)
NumeroFin = Clng(Dlg.getControl("ListBox3").selecteditem)   
oDoc = ThisComponent
lesFeuilles = oDoc.Sheets
maFeuille1 = lesFeuilles.getByName("LISTING")
maFeuille2 = lesFeuilles.getByName("RESULTAT")
feuilleResu = lesFeuilles.getByName("RESULTAT")
pointResu = feuilleResu.getCellRangeByName("A1")

With champsFiltre(0)
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle1
End With
With champsFiltre(1)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque1
End With
With champsFiltre(2)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(3)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
With champsFiltre(4)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle1
End With
With champsFiltre(5)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque2
End With
With champsFiltre(6)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(7)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
With champsFiltre(8)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle2
End With
With champsFiltre(9)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque1
End With
With champsFiltre(10)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(11)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
With champsFiltre(12)
.Connection = com.sun.star.sheet.FilterConnection.OR
.Field = 1
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = MotCle2
End With
With champsFiltre(13)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 2
.Operator = com.sun.star.sheet.FilterOperator2.CONTAINS
.IsNumeric = False
.StringValue = Marque2
End With
With champsFiltre(14)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.GREATER_EQUAL
.IsNumeric = True
.NumericValue = NumeroDebut
End With
With champsFiltre(15)
.Connection = com.sun.star.sheet.FilterConnection.AND
.Field = 0
.Operator = com.sun.star.sheet.FilterOperator2.LESS_EQUAL
.IsNumeric = True
.NumericValue = NumeroFin
End With
maZone = maFeuille1.getCellRangeByName("A1:D10000")
monFiltre = maZone.createFilterDescriptor(True)
With monFiltre    
.FilterFields = champsFiltre()
.CopyOutputData = True
.ContainsHeader = True
.Orientation = com.sun.star.table.TableOrientation.COLUMNS
.OutputPosition = pointResu.CellAddress
.SkipDuplicates = True
End With
maZone.filter(monFiltre)
End Sub
et le fichier pour tester :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Fantastique !

Le fichier test fonctionne à merveilles!
Je vais le tester à grande échelle ce week-end.
Votre travail va contribuer à me faciliter la tache au quotidien!
Merci beaucoup :bravo:
Je reviens vers vous sous bref délai.
libreoffice 7.5.8, windows 10 x64
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Bonjour,

Comme convenu,
J'ai déployé à grande échelle le code de Zeguedon.
Cependant, je m'apercois d'un réel problème pour mon utilisation, le filtre du mot clé se fait de manière très strict.
Je m'explique:
Dans le fichier d'origine, le filtrage s'effectuait malgré que le mot clé soit contenu dans une phrase entière. Je pouvait écrire une partie du mot, le filtrage s'effectuait.
Désormais, si par exemple j'ecris "port" pour chercher "porte" le filtrage ne fonctionne plus.
ou
"porte" alors dans le fichier listing colonne description c'est "porte arrière gauche bleu", idem le filtrage ne se fait plus.
Du coup, cela limite dragstiquement mon utilisation réel et le rend inutile...

Je tiens à m'excuser pour vous avoir fait perdre votre temps mais j'ai voulu simplifier le fichier exemple au maximum pour qu'il soit claire pour vous, mais je pense qu'au final que cela vous a induit en erreur. En effet, vue que cela fonctionnait dans mon fichier d'origine, j'ai suposé par erreur que cela allait encore fonctionner.

Je sollicite du coup encore votre aide. Pouvez-vous m'aider svp?
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 951
Inscription : 19 août 2018 05:20

Re: [Calc]Rechercher données OU

Message par Dolev »

Re,
bebertdu01 a écrit :Désormais, si par exemple j'ecris "port" pour chercher "porte" le filtrage ne fonctionne plus.
Voir ma précédente réponse.
As-tu fait le test avec le Filtre standard pour voir si cela fonctionne ?
Open Office 4.1.15 sous Windows 11
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc]Rechercher données OU

Message par zeguedon »

Bonjour,

Tu devrais pouvoir t'en sortir avec les expressions régulières :

Code : Tout sélectionner

MotCle1 = ".*" & Dlg.getControl("TextField2").Text & ".*"
Motcle2 = Dlg.getControl("TextField1").Text
If Motcle2 <> "" Then
	Motcle2 = ".*" & Motcle2 & ".*"
end if


et ajouter dans les propriété du filtre :

Code : Tout sélectionner

UseRegularExpressions = True

Code : Tout sélectionner

With monFiltre	
.UseRegularExpressions = True
.FilterFields = champsFiltre()
.CopyOutputData = True
.ContainsHeader = True
.Orientation = com.sun.star.table.TableOrientation.COLUMNS
.OutputPosition = pointResu.CellAddress
.SkipDuplicates = True
End With
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc]Rechercher données OU

Message par bebertdu01 »

Merci beaucoup Zeguedon. Je suis en train de déployer votre code. Merci beaucoup pour votre temps.
libreoffice 7.5.8, windows 10 x64