fonction recherche identité + concaténation

F

Fred

Guest
Bonjour à tous et toutes.

Je souheterais élaborer une macro qui me permettrais de comparer les valeurs de plusieurs cellules d'une même ligne d'une tableau sur une premiere feuille excel et qui les comparerait à un autre tableau dans une autre feuille excel.

dans le cas ou ces cellules (des deux tableaux) seraient identiques je voudrais que la macro prenne la valeur dans une cellule à coté et la transfere dans une autre.

Je vous remercie par avance.

Bonne journée a tous et toutes!


Fred
 

Celeda

XLDnaute Barbatruc
Bonsoir,


comparer les valeurs de plusieurs cellules
d'une même ligne d'une tableau sur une premiere feuille

comparerait à un autre
tableau dans une autre feuille excel.



cela tu dois pouvoir le trouver avec le bouton RECHERCHE
en tapant comparaison colonne ou dans les ARCHIVES


par contre,


dans le cas ou ces cellules (des deux tableaux) seraient identiques je voudrais que la macro prenne
la valeur dans une cellule à coté( de quelle feuille ??) et la transfere dans une autre (en fonction de la première réponse, on saura dans quelle autre feuille on doit transferer).

Pour t'aider, place un fichier pour plus de visibilité, en regardant le tutoriel placé, si besoin est,

Celeda
 
F

fred

Guest
tout dabord merci de t'etre penché sur mon pb!!!

je te joins le fichier concerné!!!si tu peux y jeter un oeil merci!!!

En fait ce que je voudrais c'est que la macro compare les 4 premieres cellules de chaque ligne du tableau de la feuille 'liste rec' et qu'il recherche son homologue dans le tableau de la feuille 'four'.

Si il y a un homologue je veux que la macro prenne la valeur de la colonne 'Somme' correspondante dans la feuille 'four' et la transpose dans la colonne G de la feuille 'liste rec' a la ligne correspondante!!!

j'espere avoir été compréhensible!

Le pb tu le vois bien est qu'il n'y a pas tjs de lignes identiques et que la seul chose a laquelle j'ai pensé est la reconnaissance avec les 4 premieres cellules qui sont identiques dans les deux tableaux!!

Merci a vous
 
F

FRED

Guest
fred écrit:
tout dabord merci de t'etre penché sur mon pb!!!

je te joins le fichier concerné!!!si tu peux y jeter un oeil merci!!!

En fait ce que je voudrais c'est que la macro compare les 4 premieres cellules de chaque ligne du tableau de la feuille 'liste rec' et qu'il recherche son homologue dans le tableau de la feuille 'four'.

Si il y a un homologue je veux que la macro prenne la valeur de la colonne 'Somme' correspondante dans la feuille 'four' et la transpose dans la colonne G de la feuille 'liste rec' a la ligne correspondante!!!

j'espere avoir été compréhensible!

Le pb tu le vois bien est qu'il n'y a pas tjs de lignes identiques et que la seul chose a laquelle j'ai pensé est la reconnaissance avec les 4 premieres cellules qui sont identiques dans les deux tableaux!!

Merci a vous
 
F

Fred

Guest
Désolé mais je n'ai pas réussis a accrocher les tableux!!les voici donc:

Tableau 'Liste rec' :

Pays Nom Prestation Année Fonction Référence
AD ABC ASS MQET 2004 CORFOU AD 20 414
AD ABC ASS MQET 2004 CORFOU AD 20 671
AD SPI PROP MQET 2003 CORFOU AD 20 397
AD SPI PROP MQET 2004 CORFOU AD 20 397
AD SPI PROP MQET 2004 CORFOU AD 20 923
AE ABU EMIRATS MQET 2004 CORFOU AE 53 072
AE ABU EMIRATS MQET 2005 CORFOU AE 69 788
AE ABU EMIRATS MQET 2005 CORFOU MET050236
AE SABA EMIRATS DEBETF 2004 CORFOU AE P79/04
AE SABA EMIRATS MQET 2003 CORFOU AE 47 394
AE SABA EMIRATS MQET 2004 CORFOU AE 65 367
AR BREUER G MQET 2003 CORFOU AR 1 915 539
AR BRUCHOU DEBFRE 2003 DO FR 03 11289
AR MARVAL DEBETF 2003 CORFOU AR P 030100478
AR MARVAL DEBETF 2003 CORFOU AR P 030100479
AR MARVAL DEBETF 2003 CORFOU AR P 030100900
AR MARVAL DEBETF 2003 CORFOU AR P 030102156
AR MARVAL DEBETF 2003 CORFOU AR P 030104057
AR MARVAL DEBETF 2004 CORFOU AR P 040100942




Tableau 'Four' :


Pays Nom Prestation Année somme Référence
AD ABC ASS DIVERS 2004 340 DIV020145
AD ABC ASS INSMAR 2005 217 INM040040
AD ABC ASS MQET 2004 1657,81 AD 20 414
AD ABC ASS MQET 2004 1657,81 AD 20 414
AD ABC ASS MQET 2004 1657,81 AD 20 671
AD AUGE MQET 2003 514 AD 19 119
AD SPI PROP MQET 2004 961,5 AD 20 397
AD SPI PROP MQET 2004 961,5 AD 20 923
AE ABU EMIRATS CONBRE 2005 311,25 AVB050056
AE ABU EMIRATS MQET 2004 6794,95 OM 25 538
AE ABU EMIRATS MQET 2004 6794,95 AE 53 072
AE ABU EMIRATS MQET 2004 6794,95 AE 52 463
AE ABU EMIRATS MQET 2004 6794,95 AE 53 072
AE ABU EMIRATS MQET 2004 6794,95 AE 53 838
AE ABU EMIRATS MQET 2005 4454,38 AE 67 957
AE ABU EMIRATS MQET 2005 4454,38 AE 53 758
AE ABU EMIRATS MQET 2005 4454,38 AE 67 956
AE ABU EMIRATS MQET 2005 4454,38 AE 53 758
AE ABU EMIRATS MQET 2005 4454,38 AE 69 790
 
C

Cyril

Guest
Bonjour,
Ce sujet m'interesse car je cherche a faire la meme chose. Ca ne me parrait pourtant pas complique mais impossible avec mon niveau!!!
Enfait en ce qui me concerne j'aurai besoin d'une recherche verticale qui compare plusieurs colonnes (...et rien a ce sujet dans les archives). Pour donner un exemple simple:
Prenons 2 feuilles A et B
Sur la feuille A les 3 colonnes Nom, Prenom et Telephone.
Sur la feuille B les 3 colonnes Nom, Prenom et Adresse.
Comment faire pour creer une 4eme colonne Adresse sur la feuille A, qui soit le resultat d'une recherche sur la feuille B dans les colonnes Nom ET Prenom.
J'espere que c'est clair et surtout que quelqu'un va prendre le temps de me depanner.
En tous les cas merci.
Cyril
 

Hervé

XLDnaute Barbatruc
Supporter XLD
Bonjour cyril, le fil, le forum

en pièce jointe une proposition VBA, ca doit etre aussi possible par formule, mais je ne sais pas faire.

salut
[file name=Classeur2_20051017144146.zip size=8060]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20051017144146.zip[/file]
 

Pièces jointes

  • Classeur2_20051017144146.zip
    7.9 KB · Affichages: 51
J

JJ59

Guest
Bonjour Cyril, Hervé, le fil et le Forum


Voici une solution par formules si j'ai bien compris la demande.


Bon aprés-midi à tous


JJ59 [file name=Cyril.zip size=2299]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Cyril.zip[/file]
 

Pièces jointes

  • Cyril.zip
    2.2 KB · Affichages: 39
C

Cyril

Guest
Merci, merci et encore merci a vous deux, vous etes des as!!! Et ca en moins de 24h...felicitation. Au fait ne croyer pas que je me releve pendant la nuit mais je suis a Singapour donc avec le decallage...
Je ne sais pas encore quelle solution je vais utiliser mais quoi qu'il en soit mon probleme est regle. Aller une derniere fois...MERCI BEAUCOUP!
 
C

Cyril

Guest
Hervé écrit:
Bonjour cyril, le fil, le forum

en pièce jointe une proposition VBA, ca doit etre aussi possible par formule, mais je ne sais pas faire.

salut

-------

Rebonjour Herve, le fil, le forum,

J'ai reussi a adapter le VBA a mon fichier :) ...meme si ca peut vous parraitre ridicule c'est un grand pas dans la programmation pour moi alors encores merci. Je l'ai donc mis en piece jointe. Sans vouloir abuser... :eek: ...j'en rajouterai bien une couche!!!
C'est donc une application de gestion d'entrepot. Dans la feuille 'STOCK' on trouve l'etat des stocks en debut de semaine. Dans la feuille 'MOUVEMENT' on trouve les entree et sorties de stock de la semaine. Le VBA m'a permis de transferer la valeur des stocks de debut de semaine en face de chaque mouvement. Le but etant qu'en fin de semaine on puisse deduire ou additionner les quantites sorties ou entrees et ainsi controller les stock. Seulement dans l'etat actuel il faut faire le calcul ce qui n'est pas pratique. Je voudrais trouver par exemple en face des 4 premieres lignes '190' (qui correspondent a la meme reference et au meme emplacement), le resultat 190-4*6 soit '166'. J'ai bien reussi a le faire avec des formule en faisant une concatenation REFERENCE/EMPLACEMENT dans une feuille separee, puis en faisant la somme des doublons et enfin en soustrayant cette somme au quantite de depart. Ca marche mais c'est pas rapide et mon plus gros probleme c'est que quand j'etend la formule de la soustraction dans la case 'QUANTITE ESTIME' il est impossible d'imprimer la feuille car si je le fait, l'impression se fait jusqu'a ce qu'il n'y ait plus de formule, meme quand il n'y a pas d'entree.
J'ai bien essaye de le faire en VBA mais bon...j'ai ete un peu trop sure de moi sur ce coup la!!!
Je suppose que le mieux c'est de le faire en VBA mais si c'est trop long, quelqu'un peut-il me dire comment appliquer une formule a la ligne suivante sans pour cela l'etendre a 10000 ou 20000 histoire d'etre sure!!!
Voila j'ai deja ecris beaucoup alors j'arrete la!
En tous les cas merci pour ce que vous pouvez faire et bonne journee.
Cyril
 
C

Cyril

Guest
Defois j'ai pas de tete...Voila le ZIP [file name=sample_20051018115655.zip size=21308]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sample_20051018115655.zip[/file]
 

Pièces jointes

  • sample_20051018115655.zip
    20.8 KB · Affichages: 24
C

Cyril

Guest
Encore une boulette, pour simplifier j'ai change le titre des feuille...donc dans la macro il faut remplacer COSMO INVENTORY BALANCE par STOCK!
Desolle, voila le nouveau fichier. [file name=sample_20051018120559.zip size=21308]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sample_20051018120559.zip[/file]
 

Pièces jointes

  • sample_20051018120559.zip
    20.8 KB · Affichages: 30
C

Cyril

Guest
Celui la fonctionne c'est sure!!! [file name=sample_20051018121340.zip size=21290]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/sample_20051018121340.zip[/file]
 

Pièces jointes

  • sample_20051018121340.zip
    20.8 KB · Affichages: 35

Hervé

XLDnaute Barbatruc
Supporter XLD
Re cyril

essaye comme ceci : j'ai pas changé grand chose par rapport à la macro de base.

Dim c As Range
Dim cell As Range

With Sheets('STOCK')
For Each c In Range('b2:b' & Range('b65536').End(xlUp).Row)
   
For Each cell In .Range('a2:a' & .Range('a65536').End(xlUp).Row)
       
If c & c.Offset(0, 1) = cell & cell.Offset(0, 1) Then
              cell.Offset(0, 2) = cell.Offset(0, 2) + c.Offset(0, 3)
       
End If
   
Next cell
Next c
End With


salut
 

Discussions similaires

Statistiques des forums

Discussions
300 793
Messages
1 987 233
Membres
209 745
dernier inscrit
gilboss