#1 Le 17/09/2024, à 09:18
- claudius723
Recupérer valeur commune à deux tableaux
Bonjour, je suis à la recherche d'une formule permettant de récupérer une valeur commune à deux tableaux.
J'ai 2 colonnes : 1 : Choix; liste de nombres variables; 2 : Valeurs; liste de nombres fixes
Donc je souhaite extraire la valeur commune à ces 2 colonnes, soit dans le cas présent : 22
Choix Valeurs
6 8
12 14
15 22
22 48
35 55
48 56
54 64
75
Je ne connais pas encore suffisamment Calc, alors je fais appel à vous.
Merci d'avance
Cordialement
Claudius723
Hors ligne
#2 Le 17/09/2024, à 10:49
- diesel
Re : Recupérer valeur commune à deux tableaux
Si j'ai bien compris, il s’agit d'extraire une valeur commune à deux colonnes d'un même tableau.
Et cette valeur extraite, tu veux la mettre où ?
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#3 Le 17/09/2024, à 11:03
- Rafbor
Re : Recupérer valeur commune à deux tableaux
Bonjour,
moi j'aime bien les macros, alors voilà, avec Choix et Valeurs en colonnes A et B:
Option Explicit
option VbaSupport 1
Sub ChercheOccurences
Dim oSheet, oCell, oRange as Object
Dim nRow, nCol As Integer
Dim nLigC, nColC as Integer
Dim nLigV, nColV as Integer
Dim i, j As Integer
Dim sChoix, sValeur, sResult As String
'1er onglet
oSheet = ThisComponent.Sheets(0)
'ligne et colonne de départ
nLigC = 1 ' ligne 2 Choix
nColC = 0 ' colonne A Choix
nLigV = 1 ' ligne 2 Valeurs
nColV = 1 ' colonne B Valeurs
sResult = ""
'tant que Choix n'est pas vide
sChoix = oSheet.GetCellByPosition(nColC, nLigC).string
While (sChoix <> "")
'tant que Valeurs n'est pas vide
nLigV = 1
sValeur = oSheet.GetCellByPosition(nColV, nLigV).string
While (sValeur <> "")
If sChoix = sValeur then
sResult = sResult + sChoix + VbCrlf
endif
nLigV = nLigV + 1
sValeur = oSheet.GetCellByPosition(nColV, nLigV).string
wend
nLigC = nLigC + 1
sChoix = oSheet.GetCellByPosition(nColC, nLigC).string
Wend
'affichage du résultat
If sResult <> "" Then
msgbox sResult
endif
End Sub
Le résultat s'affiche dans une fenêtre et ça donne [22 48] dans ton exemple
Dernière modification par Rafbor (Le 17/09/2024, à 11:08)
Xubuntu 22.04 - Mes projets sur Github
Hors ligne
#4 Le 17/09/2024, à 11:24
- claudius723
Re : Recupérer valeur commune à deux tableaux
Bravo à tous les deux, par contre j'aimerais avoir un peu d'explications pour la macro, je dois extrapoler pour mes tableaux en vrai,
Que dois-je remplacer ?
Merci à tous les deux
Cordialement
Claudius723
Hors ligne
#5 Le 17/09/2024, à 12:37
- Rafbor
Re : Recupérer valeur commune à deux tableaux
Lire les commentaires, il faut adapter l'onglet, les lignes et colonnes de départ des 2 colonnes
oSheet = ThisComponent.Sheets(0) '1er onglet
'ligne et colonne de départ
nLigC = 1 ' ligne 2 Choix
nColC = 0 ' colonne A Choix
nLigV = 1 ' ligne 2 Valeurs
nColV = 1 ' colonne B Valeurs
L'algo parcours les 2 colonnes tant qu'il ne trouve pas une cellule vide.
Xubuntu 22.04 - Mes projets sur Github
Hors ligne
#6 Le 17/09/2024, à 17:46
- claudius723
Re : Recupérer valeur commune à deux tableaux
Je trouve où le résultat ?
Cordialement
Claudius723
Hors ligne
#7 Le 17/09/2024, à 18:17
- Rafbor
Re : Recupérer valeur commune à deux tableaux
Je l'ai écrit au message #3: Le résultat s'affiche dans une fenêtre et ça donne [22 48] dans ton exemple
mais on peut changer et le mettre ou tu veux dans la feuille
Xubuntu 22.04 - Mes projets sur Github
Hors ligne
#8 Le 18/09/2024, à 16:52
- claudius723
Re : Recupérer valeur commune à deux tableaux
Merci Rafbor, pour l'instant cela ne fonctionne pas chez moi, mais j'ai un autre souci, car je bricole un peu les macros mais en zBasic, je suis assez satisfait des mes résultats, mais depuis quelques jours après avoir relancé Ubuntu, j'ai un message d'erreur du genre" variable non définie" oPlageCopie erreur "12", je vais poster une nouvelle discussion à ce sujet, et si tu peux aller voir et peut être me dépanner!!
A bientôt
Cordialement
Claudius723
Hors ligne
#9 Le 18/09/2024, à 18:11
- Rafbor
Re : Recupérer valeur commune à deux tableaux
Je te mets un lien pour télécharger le fichier de test que j'ai fait, il contient la macro: ChercheOccurences.ods
Je ne connais pas du tout zBasic, je ne pense pas pouvoir aider mais je regarderai quand même.
Xubuntu 22.04 - Mes projets sur Github
Hors ligne
#10 Le 19/09/2024, à 16:11
- JBF
Re : Recupérer valeur commune à deux tableaux
Tu peux le faire avec la fonction RECHERCHEV() dans une 3e colonne.
En C2 tu cherches A2 dans la colonne B. Et tu propages la formule jusqu'en bas de la colonne.
Ensuite tu peux combiner ça avec la fonction SI() pour afficher ce que tu veux selon que la recherche trouve ou ne trouve pas.
LibreOffice : https://fr.libreoffice.org/ (téléchargement, documentation, FAQ, assistance, contribuer, ...)
Aide pour LibreOffice par la communauté francophone : Ask LibreOffice
Hors ligne