Faire une recherche dans excel
Résolu
goran_84
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je possède des données qui s'étendent de A1: D36 000 (4 colonnes et 36 000 lignes) avec dans la colonne
A - nom de commune
B - code postal de la commune
C- code postal du département
D- Le code de la zone Robien
J'ai besoin de faire une recherche par nom de commune pour savoir ensuite quel est le code postal de la commune, le code postal du département et le code de la zone Robien (colonne B,C,D).
Pour cela j'utilise la fonction excel recherchev et ça marche bien. Or ce que je souhaite faire maintenant c'est de pouvoir faire une recherche qui m'affiche tous les noms de communes qui commencent par les lettres qui ont été saisis.
Pouvez vous m'aider svp!
Merci
Je possède des données qui s'étendent de A1: D36 000 (4 colonnes et 36 000 lignes) avec dans la colonne
A - nom de commune
B - code postal de la commune
C- code postal du département
D- Le code de la zone Robien
J'ai besoin de faire une recherche par nom de commune pour savoir ensuite quel est le code postal de la commune, le code postal du département et le code de la zone Robien (colonne B,C,D).
Pour cela j'utilise la fonction excel recherchev et ça marche bien. Or ce que je souhaite faire maintenant c'est de pouvoir faire une recherche qui m'affiche tous les noms de communes qui commencent par les lettres qui ont été saisis.
Pouvez vous m'aider svp!
Merci
A voir également:
- Faire une recherche dans excel
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
3 réponses
Bonjour,
Une piste avec seulement le nom de communes ( la recherche cible de plus en plus suivant le nombre de lettres inscrites)
https://www.cjoint.com/?3KothUizTEx
pour les autres renseignements, ce n'est pas bien compliqué (mais pas avec recherchev!!)
donc, donne un extrait de ta base (500 ou 1000 lignes)
Une piste avec seulement le nom de communes ( la recherche cible de plus en plus suivant le nombre de lettres inscrites)
https://www.cjoint.com/?3KothUizTEx
pour les autres renseignements, ce n'est pas bien compliqué (mais pas avec recherchev!!)
donc, donne un extrait de ta base (500 ou 1000 lignes)
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
Bonjour Goran
Ci joint proposition avec le classeur que tu m'as communiqué sur yahoo mail
boulot intéressant compte tenu des 36000 communes !
https://www.cjoint.com/?3KqiLAxDVAh
nota: dans la feiulles "communes, j'ai nommé deux plage: localité (colonne A)et base_fr (colonnes B-D)
Michel
Ci joint proposition avec le classeur que tu m'as communiqué sur yahoo mail
boulot intéressant compte tenu des 36000 communes !
https://www.cjoint.com/?3KqiLAxDVAh
nota: dans la feiulles "communes, j'ai nommé deux plage: localité (colonne A)et base_fr (colonnes B-D)
Michel
le classeur étant protégé par mdp
voici les codes
dans le module feuille "recherche (où il y a le textbox"
zt dans un modules standard
voici les codes
dans le module feuille "recherche (où il y a le textbox"
Private Sub TextBox1_Change() Lettre = UCase(TextBox1.Value) Selectionner_communes End Sub
zt dans un modules standard
Public Lettre As String Sub Selectionner_communes() Dim Tcomm(), T_base(), T_out() Dim Critere As String Dim Nbre As Long, Lig As Long, Cpt As Long '------initialisations Range("C5:F37000").Clear If Lettre = "" Then GoTo Fin Critere = Lettre & "*" With Sheets("communes") 'mémorise en RAM les données des communes T_comm = Application.Transpose(Range("localite").Value) 'liste des localités T_base = Range("base_fr").Value 'liste des codes, départements, zone robien 'nombre de communes répondant au critere Nbre = Application.CountIf(Range("localite"), Critere) End With '-----recherche If Nbre = 0 Then GoTo Vide: 'pas de communes répondant au critère 'mémorise tableau des communes répondant au critère ReDim T_out(1 To Nbre, 1 To 4) Cpt = 1 For Lig = 1 To UBound(T_comm) If T_comm(Lig) Like Critere Then T_out(Cpt, 1) = T_comm(Lig) 'commune T_out(Cpt, 2) = T_base(Cpt, 1) 'code commune T_out(Cpt, 3) = T_base(Cpt, 2) 'code departement T_out(Cpt, 4) = T_base(Cpt, 3) 'zone Robien Cpt = Cpt + 1 If Cpt > Nbre Then Exit For 'sortie si le nbre est atteint End If Next '------restitution Application.ScreenUpdating = False With Sheets("Recherche").Range("C5").Resize(Nbre, 4) .Value = T_out .Borders.Weight = xlThin End With Exit Sub '-----gestion erreurs Vide: MsgBox "aucune commune commendant par " & Lettre & " dans la liste ", vbExclamation Exit Sub Fin: End Sub
bonjour
classeur modifié suite à mes étourderies habituelles et rectifié ton tableau des codes insee et départements ( les 9 premiers départements); ajouté un bouton de remise à zéro
Avec mes excuses
https://www.cjoint.com/?3KsjhptPSyr
classeur modifié suite à mes étourderies habituelles et rectifié ton tableau des codes insee et départements ( les 9 premiers départements); ajouté un bouton de remise à zéro
Avec mes excuses
https://www.cjoint.com/?3KsjhptPSyr
Quand tu dis
"Or ce que je souhaite faire maintenant c'est de pouvoir faire une recherche qui m'affiche tous les noms de communes qui commencent par les lettres qui ont été saisis. "
tu voudrais afficher toutes les communes qui commencent pa la lettre "L" par exemple et les afficher où ?? dans une boite de dialogue??
Au plaisir
Merci pour l'interet que tu portes a mon "probleme".
Peux importe ou est ce que je vais afficher les commune commencant par P. Il faut juste quelles apparaissent ;)
qu'est ce que tu penses qu'il serait le mieux.
Merci d'avance et bonne soirée
Alors je peux te proposer ce code que j'ai fait pour une appli identique à la tienne
Dans une feuille tu crées un bouton et tu affectes ce code
tu vois qu'a ce stade il faut creer un Userform avec une Zone de texte que tu nommeras
"ZtxtCP"
une Listbox que tu nommeras
"ListboxVilles"
et tu associes le code qui suit à la zonede texte "ZtxtCP"
Bonne continuation