Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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