Rechercher des données dans un tableau à partir d'un autre
Maestro_4M
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans le cadre de mon boulot j'aurais besoin de retrouver des données contenues sous Excel 2003 dans un Tableau 1 à partir d'un second Tableau 2.
Pour mieux vous illustrer la situation, le premier tableau contient toutes les infomations sur les employés: Nom, Adresse, Téléphone, Date d'embauche ...
Le second tableau contient uniquement des noms de Rues.
J'aurais besoin de retrouver tous les employés référencés dans le Tableau 1 (plusieurs milliers) qui résident dans les Rues mentionnées dans le Tableau 2 (plusieurs centaines).
Un grand merci d'avance !
Dans le cadre de mon boulot j'aurais besoin de retrouver des données contenues sous Excel 2003 dans un Tableau 1 à partir d'un second Tableau 2.
Pour mieux vous illustrer la situation, le premier tableau contient toutes les infomations sur les employés: Nom, Adresse, Téléphone, Date d'embauche ...
Le second tableau contient uniquement des noms de Rues.
J'aurais besoin de retrouver tous les employés référencés dans le Tableau 1 (plusieurs milliers) qui résident dans les Rues mentionnées dans le Tableau 2 (plusieurs centaines).
Un grand merci d'avance !
A voir également:
- Rechercher des données dans un tableau à partir d'un autre
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Tableau ascii - Guide
5 réponses
Si l'info du tableau 2 ne se situe pas dans le tableau 1 ça va être difficile !
L'adresse est-elle décomposée (n°, Rue, CP, Ville) ?
L'adresse est-elle décomposée (n°, Rue, CP, Ville) ?
Bonjour
Il faut préparer votre tableau 1 pour pouvoir l'exploiter
pouvez-vous ajouter des colonnes dans ce tableau
et par formule extraire le N°, les indices (bis,ter,...) et le nom de la rue
une fois le traitement éffectué faire un copier coller valeurs sur les colonnes créés pour supprimer les formules ayant servis à l'extraction.
Vous pourez mettre un filtre automatique sur votre base et filtrer sur le nom de la rue et là vous aurez toutes les personnes habitant cette rue
Il faut préparer votre tableau 1 pour pouvoir l'exploiter
pouvez-vous ajouter des colonnes dans ce tableau
et par formule extraire le N°, les indices (bis,ter,...) et le nom de la rue
une fois le traitement éffectué faire un copier coller valeurs sur les colonnes créés pour supprimer les formules ayant servis à l'extraction.
Vous pourez mettre un filtre automatique sur votre base et filtrer sur le nom de la rue et là vous aurez toutes les personnes habitant cette rue
Bonjour,
Le mieux serait de joindre un extrait du classeur , ne serait ce pour voir la ou les colonnes de l'adresse avec des noms bidons (par ex. : zaza1,zaza2......) dans les 2 tableaux.
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
apparemment, vu les nombres annoncés, on peut penser à une solution par VBA mais...
Michel
Le mieux serait de joindre un extrait du classeur , ne serait ce pour voir la ou les colonnes de l'adresse avec des noms bidons (par ex. : zaza1,zaza2......) dans les 2 tableaux.
pour joindre une pièce
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
apparemment, vu les nombres annoncés, on peut penser à une solution par VBA mais...
Michel
OK,
Dans le tableau1, je suppose qu'il faut chercher dans les 2 colonnes (2 & 3) comme par exemple ligne 24: Boulevard Marcel Sauvaire ?
As tu des noms avec des références parcellaires ?
Pourquoi parfois des parenthèses dans le tableau 2: on distingue ou pas ? par ex: route de Galice lignes 12 et 18
Solution VBA vu les nombres (plusieurs milliers de nom) et 550 rues...
Je serais absent une partie de l'après midi...donc, patience
Dans le tableau1, je suppose qu'il faut chercher dans les 2 colonnes (2 & 3) comme par exemple ligne 24: Boulevard Marcel Sauvaire ?
As tu des noms avec des références parcellaires ?
Pourquoi parfois des parenthèses dans le tableau 2: on distingue ou pas ? par ex: route de Galice lignes 12 et 18
Solution VBA vu les nombres (plusieurs milliers de nom) et 550 rues...
Je serais absent une partie de l'après midi...donc, patience
Bonjour
Comme je vous l'avez dit c'est long et fastidieu pour mettre une base à jour
Par divers formules avec recherche, trouve, gauche, droite je suis arrivée au résultat ci-joint, je vous laisse le choix entre majuscule et minuscule, une fois un premier contrôle vous devrez faire un copier /coller valeur des colonnes vertes et supprimer en suite les colonnes C, D, & G inutiles (en rouge)
j'ai mis un contrôle sur la feuille ZUS et une seule rue a été trouvé je suis inquiet à vous de voir
le fichier https://www.cjoint.com/?3JqlfMr9PSK
Il y a encore beaucoup de travail à faire
Comme je vous l'avez dit c'est long et fastidieu pour mettre une base à jour
Par divers formules avec recherche, trouve, gauche, droite je suis arrivée au résultat ci-joint, je vous laisse le choix entre majuscule et minuscule, une fois un premier contrôle vous devrez faire un copier /coller valeur des colonnes vertes et supprimer en suite les colonnes C, D, & G inutiles (en rouge)
j'ai mis un contrôle sur la feuille ZUS et une seule rue a été trouvé je suis inquiet à vous de voir
le fichier https://www.cjoint.com/?3JqlfMr9PSK
Il y a encore beaucoup de travail à faire
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ci joint macro proposée regroupant les habitants par rue dans la zone zus
Durée 1,43 sec pour 848 habitants (ram 512 Mo, proc 3Ghz)
maquette
https://www.cjoint.com/?3Jqpyld8LLg
Michel
Option Explicit Option Base 1 Dim T_base, T_zus Sub selectionner_habitants() Dim T_ame() Dim Cptr As Integer, Lig As Integer, Col As Byte, Cpt As Integer, chmp As Byte Application.ScreenUpdating = False Call harmoniser_ecritures ReDim T_ame(7, 1) For Cptr = 1 To UBound(T_zus) For Lig = 1 To UBound(T_base) For Col = 2 To 4 If InStr(T_base(Lig, Col), T_zus(Cptr, 1)) Then Cpt = Cpt + 1 ReDim Preserve T_ame(7, Cpt) For chmp = 1 To 7 T_ame(chmp, Cpt) = T_base(Lig, chmp) Next chmp Exit For End If Next Col Next Lig Next Cptr With Sheets(3) With .Range("A2:G" & Cpt) .Value = Application.Transpose(T_ame) .Borders.Weight = xlThin End With .Select End With End Sub Sub harmoniser_ecritures() Dim derlig As Integer, Lig As Integer, Col As Byte Dim zus As String With Sheets(1) derlig = .Columns("A").Find("*", , , , , xlPrevious).Row T_base = .Range("A2:G" & derlig).Value For Lig = 1 To derlig - 1 For Col = 1 To 3 T_base(Lig, Col) = UCase(Trim(T_base(Lig, Col))) Next Col Next Lig End With With Sheets("zus") derlig = .Columns("A").Find("*", , , , , xlPrevious).Row T_zus = .Range("A2:A" & derlig).Value For Lig = 1 To derlig - 1 zus = T_zus(Lig, 1) T_zus(Lig, 1) = UCase(Trim(enlever_accents(zus))) Next End With End Sub Function enlever_accents(texto As String) As String Dim accents As String * 14, caract As String * 1, lettre As String * 1 Dim Cptr As Integer, pos As Integer accents = "âäàêëéèîïôöûüù" For Cptr = 1 To Len(texto) caract = Mid(texto, Cptr, 1) pos = InStr(accents, caract) If pos > 0 Then lettre = Choose(pos, "a", "a", "a", "e", "e", "e", "e", "i", "i", "o", "o", "u", "u", "u") texto = Replace(texto, caract, lettre) End If Next enlever_accents = texto End Function
Durée 1,43 sec pour 848 habitants (ram 512 Mo, proc 3Ghz)
maquette
https://www.cjoint.com/?3Jqpyld8LLg
Michel
Dans le second il s'agit simplement du nom des Rues.
En fait il ne s'agit pas d'un nom de Rue à retrouver dans le Tableau 1 mais de plusieurs centaines.
Est-il possible de retrouver les ligne du Tableau 1 qui contiennent les noms des rues du Tableau 2 ?
De plus, si les deux sources de données ne sont pas harmonisées j'ai bien peur que les résultats ne soient pas très bons : par exemple il sera difficile d'identifier la «Rue du Général de Gaulle» à l'adresse «13 Bis, Rue du Gal de Gaulle»