Rechercher valeur dans une feuille excel non triée dans un autre
Fermé
Zoub
-
3 janv. 2013 à 10:51
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 4 janv. 2013 à 11:30
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 4 janv. 2013 à 11:30
A voir également:
- Rechercher valeur dans une feuille excel non triée dans un autre
- Rechercher ou entrer l'adresse - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Déplacer une colonne excel - Guide
6 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 3/01/2013 à 12:22
Modifié par michel_m le 3/01/2013 à 12:22
Bonjour,
excusez l'incruste
Macro à installer dans le classeur B
la maquette de W
https://www.cjoint.com/?3Admv54ReqF
Michel
excusez l'incruste
Macro à installer dans le classeur B
Option Explicit Sub chercher_T_si() Dim Derlig As Integer, Lig As integet Dim Dico As Object Dim T_colA(), T_colE() Application.ScreenUpdating = False With Sheets(1) Derlig = .Columns("J").Find("*", , , , , xlPrevious).Row Set Dico = CreateObject("scripting.dictionary") For Lig = 1 To Derlig Dico.Add .Cells(Lig, "J").Value, .Cells(Lig, "T") Next End With Workbooks.Open Filename:="D:\documents\classeurA.xls" 'A ADAPTER With Sheets(1) .Columns("E").Clear Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row T_colA = Application.Transpose(.Range("A1:A" & Derlig).Value) T_colE = Application.Transpose(.Range("E1:E" & Derlig).Value) For Lig = 1 To Derlig If Dico.exists(T_colA(Lig)) Then T_colE(Lig) = Dico.Item(T_colA(Lig)) Next With .Range("E1:E" & Derlig) .Value = Application.Transpose(T_colE) .Borders.Weight = xlThin End With End With End Sub
la maquette de W
https://www.cjoint.com/?3Admv54ReqF
Michel
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
3 janv. 2013 à 10:56
3 janv. 2013 à 10:56
Bonjour,
Que signifie "avec potentiellement les mêmes valeurs uniques en colonne J" ?
Si j'ai bien compris, on a des valeurs uniques dans la colonne A d'une feuille d'un classeur A,
on a peut-être les mêmes valeurs potentiellement uniques dans la colonne J d'une feuille d'un classeur B,
et il faudrait renvoyer la valeur de la colonne T du classeur B si et seulement si la valeur de la colonne J est aussi dans la colonne A de la feuille du classeur B ?
Que signifie "avec potentiellement les mêmes valeurs uniques en colonne J" ?
Si j'ai bien compris, on a des valeurs uniques dans la colonne A d'une feuille d'un classeur A,
on a peut-être les mêmes valeurs potentiellement uniques dans la colonne J d'une feuille d'un classeur B,
et il faudrait renvoyer la valeur de la colonne T du classeur B si et seulement si la valeur de la colonne J est aussi dans la colonne A de la feuille du classeur B ?
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
3 janv. 2013 à 11:05
3 janv. 2013 à 11:05
merci pour ta réponse express.
les valeurs en colonne J sont uniques également mais il se peut qu'on ne trouve pas une ou plusieurs valeurs du premier fichier dans le deuxieme. mais tu as bien cerné le probleme c'est bien ça. je ne peut pas le faire avec la fonction recherche car mes tableaux ne sont pas triés.
pS. "et il faudrait renvoyer la valeur de la colonne T du classeur B si et seulement si la valeur de la colonne J est aussi dans la colonne A de la feuille du classeur A ".
Merci bcp
Z
les valeurs en colonne J sont uniques également mais il se peut qu'on ne trouve pas une ou plusieurs valeurs du premier fichier dans le deuxieme. mais tu as bien cerné le probleme c'est bien ça. je ne peut pas le faire avec la fonction recherche car mes tableaux ne sont pas triés.
pS. "et il faudrait renvoyer la valeur de la colonne T du classeur B si et seulement si la valeur de la colonne J est aussi dans la colonne A de la feuille du classeur A ".
Merci bcp
Z
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
3 janv. 2013 à 11:09
3 janv. 2013 à 11:09
Ah oui exact, du classeur A :-)
Il faut renvoyer la valeur de "classeurB.Feuille.colonneT" sous quelle forme et où ça ?
Il faut renvoyer la valeur de "classeurB.Feuille.colonneT" sous quelle forme et où ça ?
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
3 janv. 2013 à 11:23
3 janv. 2013 à 11:23
La valeur trouvée doit être renvoyée dans le Classeur A colonne E. mais pas sous forme de formule comme il est dans le classeur B mais en valeur.
Z
Z
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
3 janv. 2013 à 17:34
3 janv. 2013 à 17:34
Salut les amis, dsl pour ce feedback tardif mais grosse aprem d'activité,
J'ai testé la macro de michel (merci d'ailleurs).
Erreur de compilation : type défini par l'utilisateur non défini. Euh c'est du chinois ou du czech ? :-D
Z
J'ai testé la macro de michel (merci d'ailleurs).
Erreur de compilation : type défini par l'utilisateur non défini. Euh c'est du chinois ou du czech ? :-D
Z
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
3 janv. 2013 à 17:54
3 janv. 2013 à 17:54
Il y avait peut être une erreur de frappe "integet" je l'ai remplacé par integer.
Nvelle erreur : erreur d'exécution '91' : variable objet ou variable de bloc With non définie
Nvelle erreur : erreur d'exécution '91' : variable objet ou variable de bloc With non définie
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 3/01/2013 à 19:00
Modifié par michel_m le 3/01/2013 à 19:00
Ok pour interget
mais je viens de réessayer et ca marche
le classeur macro est le B et doit être le classeur actif et non le A :cela déclenche l'erreur 91
autrement dit: le classeur à l'écran avant de déclencher la macro est le classeur B
Ne pas oublier non plus d'adapter le chemin du classeur A
Workbooks.Open Filename:="D:\documents\classeurA.xls" 'A ADAPTER
mais je viens de réessayer et ca marche
le classeur macro est le B et doit être le classeur actif et non le A :cela déclenche l'erreur 91
autrement dit: le classeur à l'écran avant de déclencher la macro est le classeur B
Ne pas oublier non plus d'adapter le chemin du classeur A
Workbooks.Open Filename:="D:\documents\classeurA.xls" 'A ADAPTER
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
4 janv. 2013 à 08:59
4 janv. 2013 à 08:59
Salut les amis,
Alors, j'ai fait selon les recommandations de michel, ce que j'avais oublié de dire c'est que le fichier B contenait plusieurs onglets et l'onglet ou était les infos était en 5e position. Je l'ai déplacé en 1 et Msg erreur : erreur execution '457' : Cette clé est déjà associé a un élément de cette collection. une idée d'où ça peut venir ?
Z
Alors, j'ai fait selon les recommandations de michel, ce que j'avais oublié de dire c'est que le fichier B contenait plusieurs onglets et l'onglet ou était les infos était en 5e position. Je l'ai déplacé en 1 et Msg erreur : erreur execution '457' : Cette clé est déjà associé a un élément de cette collection. une idée d'où ça peut venir ?
Z
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
4 janv. 2013 à 09:25
4 janv. 2013 à 09:25
Tu as des doublons dans ta liste
Zoubs
Messages postés
6
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
4 janvier 2013
4 janv. 2013 à 11:22
4 janv. 2013 à 11:22
Michel, tu est un génie mec !!!!!!. ça fonctionne et en effet tu avais raison il y avait bien des doublons.
A ton avis quel ligne de code faudrait modifier si l'onglet du classeur B est le 4e ?
merci bcp
A ton avis quel ligne de code faudrait modifier si l'onglet du classeur B est le 4e ?
merci bcp
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
4 janv. 2013 à 11:30
4 janv. 2013 à 11:30
With Sheets(1)devient
With Sheets(4):-)
3 janv. 2013 à 13:08
Bravo michel