Les fonctions de recherche
Résolu/Fermé
A voir également:
- Les fonctions de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche adresse - Guide
- Recherche musique - Guide
- Facebook recherche par nom et prénom ✓ - Forum Facebook
- Moteur de recherche 1fichier ✓ - Forum Réseaux sociaux
5 réponses
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
16 déc. 2010 à 18:31
16 déc. 2010 à 18:31
Bonjour
si j'ai bien compris essayez d'adapter cet exemple:
de A1 à A100 les codes à trouver
de B1 à B100, les ensembles code n°2 et désignation
Garder C1 pour entrer le code cherché dans le texte de la colonne B
en C2:
=INDEX(A1:A100;EQUIV("*"&D1&"*";B1:B100;0);1)
cette formule devrait vous ressortir la valeur de A pour la ligne où le code indiqué en D1 est contenu dans la colonne B
Est ce ça que vous cherchez?
crdlmnt
si j'ai bien compris essayez d'adapter cet exemple:
de A1 à A100 les codes à trouver
de B1 à B100, les ensembles code n°2 et désignation
Garder C1 pour entrer le code cherché dans le texte de la colonne B
en C2:
=INDEX(A1:A100;EQUIV("*"&D1&"*";B1:B100;0);1)
cette formule devrait vous ressortir la valeur de A pour la ligne où le code indiqué en D1 est contenu dans la colonne B
Est ce ça que vous cherchez?
crdlmnt
Il faut dire que vous ne m'avez pas tous ratés pour avoir posté à double reprise ma préoccupation. Disons que je n'avais pas toujours reçu de mail, alors je me suis proposé de faire un second envoi. Désolé. Vaucluse, j'ai tapé votre formule mais je ne pense pas que ça m'aide. Votre formule me renvoie les codes que j'ai déjà dans la colonne A. Je vais me réexpliquer. Je veux par exemple qu'en tapant dans une certaine cellule l'ensemble 17801-54180 FILTRE A AIR, le système aille me chercher dans la colonne A le code 17801-54180 puisque c'est lui qui correspond le mieux à mon ensemble. Dans ma base de données, les colonnes A et B ne sont pas alignées dans le bon ordre. Nous avons par exemple en A1 15600-41010 aligné sur la même ligne en B2 que 17801-54180 FILTRE A AIR. Ce qui n'est pas juste. Alors j'aimerais rétablir l'ordre
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
Modifié par Vaucluse le 19/12/2010 à 20:04
Modifié par Vaucluse le 19/12/2010 à 20:04
Bonjour evelyno
Voyons, voyons... pas de fausses excuses, de toutes façons, on ne vous en veut pas, mais n'oubliez pas que les messages sont datés et comportent l'heure d'édition:
1) message 198h16 / 1° réponse 18h31 / Votre relance 18h37
Vous laisser 21mn avant la relance, ça c'est dur pour les bonnes volontés de CCM :-))))
ça , c'est pour le fun, passons aux choses sérieuses
si vous voulez éditer le code en colonne A qui débute le texte en colonne B, inutile dechercher dans la colonne A.
Deux options
1°) soit votre code est toujours composé du même nombre de caractères et alors en A2 entrez la formule:
=GAUCHE(B2;11) qui ressortira le code
2°) soit le code à un nombre de caractères variables, mais l'ensemble du code ne comporte pas d'espace
en A2
=STXT(B2;1;TROUVE(" ";B2;1)-1)
qui donnera le code seul.
il ne reste plus qu'à faire un copier collage spécial valeur sur colonne A pour effacer les formules et garder les bons codes.
Si j'ai bien compris cette fois, mais dans votre premier message, il s'agissait d'aller cherche la référence dans la colonne A alors que c'est la B qu'il vous faut...non?
bien cordialement
Ps si votre code ne correspond pas aux critères évoqués dans les deux options, revenez avec plus de précisions.
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Voyons, voyons... pas de fausses excuses, de toutes façons, on ne vous en veut pas, mais n'oubliez pas que les messages sont datés et comportent l'heure d'édition:
1) message 198h16 / 1° réponse 18h31 / Votre relance 18h37
Vous laisser 21mn avant la relance, ça c'est dur pour les bonnes volontés de CCM :-))))
ça , c'est pour le fun, passons aux choses sérieuses
si vous voulez éditer le code en colonne A qui débute le texte en colonne B, inutile dechercher dans la colonne A.
Deux options
1°) soit votre code est toujours composé du même nombre de caractères et alors en A2 entrez la formule:
=GAUCHE(B2;11) qui ressortira le code
2°) soit le code à un nombre de caractères variables, mais l'ensemble du code ne comporte pas d'espace
en A2
=STXT(B2;1;TROUVE(" ";B2;1)-1)
qui donnera le code seul.
il ne reste plus qu'à faire un copier collage spécial valeur sur colonne A pour effacer les formules et garder les bons codes.
Si j'ai bien compris cette fois, mais dans votre premier message, il s'agissait d'aller cherche la référence dans la colonne A alors que c'est la B qu'il vous faut...non?
bien cordialement
Ps si votre code ne correspond pas aux critères évoqués dans les deux options, revenez avec plus de précisions.
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Bonjour Vaucluse
Je pense vous avez résolu mon souci. désolé que nous ne nous soyons pas fait comprendre plus tôt. Je vous remercie pour votre assistance. Si j'ai encore un souci, je sais vers qui me tourner. Une fois de plus merci
Evelyn
Je pense vous avez résolu mon souci. désolé que nous ne nous soyons pas fait comprendre plus tôt. Je vous remercie pour votre assistance. Si j'ai encore un souci, je sais vers qui me tourner. Une fois de plus merci
Evelyn
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
Modifié par Vaucluse le 17/12/2010 à 09:21
Modifié par Vaucluse le 17/12/2010 à 09:21
C'est sans problème, n'hésitez pas la prochaine fois... à faire appel à tous les participants de CCM qui ont chacun leurs domaine de performances .
Bonne route
Bonne route
Salut les amis
Je reviens vers vous toujours avec mon pb expliqué plus haut dont vous m'aviez aidé à résoudre une grande partie la semaine passée. Seulement je rencontre un autre souci et cette fois-ci j'ai préféré vous joindre ci-dessous mon tableau réel, contrairement à la dernière fois. Mais je commence par me réexpliquer. J'avais extrait de mon logiciel informatique les données en jaune que vous avez dans mon fichier "bd". Ces données ont été exportées de plusieurs pages vers mon fichier excel tour à tour. Seulement toutes les lignes de la colonne A (N°) avaient leur correspondance dans la colonne F (Désignation) mais elles n'étaient pas en ordre. C'est-à-dire la 1ère ligne de la colonne A ne correspondait pas à la 1ère ligne de la colonne F et ainsi de suite. Ce qui était formidable c'est que la colonne F contenait l'ensemble N° - Désignation. Et grâce à vous et à la fonction =GAUCHE, j'ai pu dégager les six références de l'ensemble de la colonne F et j'avais mes N° qui étaient sur la même ligne (voir colonne G). Ce que je veux maintenant c'est compléter dans les colonnes H, I et J les autres infos, à savoir le stock phyique, le coût unitaire et le type de véhicule. En le faisant avec les fonctions RECHERCHEV, RECHERCHE et même EQUIV+INDEX, rien ne marche compte tenu du format. les données de la colonne G qui sont les mêmes que celles de la colonne A n'ont apparemment pas le même format et je n'ai pas dans les clonnes H, I et J les "stock phyique, le coût unitaire et le type de véhicule" qui correspondent à leurs n°. le colllage spécial non plus ne marche pas. Que faire ?
http://www.cijoint.fr/cjlink.php?file=cj201012/cij0isIxg8.xlsx
Je reviens vers vous toujours avec mon pb expliqué plus haut dont vous m'aviez aidé à résoudre une grande partie la semaine passée. Seulement je rencontre un autre souci et cette fois-ci j'ai préféré vous joindre ci-dessous mon tableau réel, contrairement à la dernière fois. Mais je commence par me réexpliquer. J'avais extrait de mon logiciel informatique les données en jaune que vous avez dans mon fichier "bd". Ces données ont été exportées de plusieurs pages vers mon fichier excel tour à tour. Seulement toutes les lignes de la colonne A (N°) avaient leur correspondance dans la colonne F (Désignation) mais elles n'étaient pas en ordre. C'est-à-dire la 1ère ligne de la colonne A ne correspondait pas à la 1ère ligne de la colonne F et ainsi de suite. Ce qui était formidable c'est que la colonne F contenait l'ensemble N° - Désignation. Et grâce à vous et à la fonction =GAUCHE, j'ai pu dégager les six références de l'ensemble de la colonne F et j'avais mes N° qui étaient sur la même ligne (voir colonne G). Ce que je veux maintenant c'est compléter dans les colonnes H, I et J les autres infos, à savoir le stock phyique, le coût unitaire et le type de véhicule. En le faisant avec les fonctions RECHERCHEV, RECHERCHE et même EQUIV+INDEX, rien ne marche compte tenu du format. les données de la colonne G qui sont les mêmes que celles de la colonne A n'ont apparemment pas le même format et je n'ai pas dans les clonnes H, I et J les "stock phyique, le coût unitaire et le type de véhicule" qui correspondent à leurs n°. le colllage spécial non plus ne marche pas. Que faire ?
http://www.cijoint.fr/cjlink.php?file=cj201012/cij0isIxg8.xlsx
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 413
Modifié par Vaucluse le 21/12/2010 à 10:30
Modifié par Vaucluse le 21/12/2010 à 10:30
bonjour evelyn
pas grand chose à faire pour que ça marche:
vos références en colonne A sont suivies d'un tiret, et donc non conformes à celles éditées en G!ce n'est pas une question de format, mais de tiret!
le plus simple, car certaines ont des tirets, d'autres pas:
sélectionnez la colonne A
Edition / Remplacer
fenêtre du haut le tiret
fenêtre du bas rien
et OK les tirets vont disparaître et en H2 la formule:
RECHERCHEV(G2;A:B;3;0) renvoi bien 2435 (ligne 438)
en règle générale:
attention à la colonne A vous avez en bas de champ des valeurs de code qui ne correspondent pas du tout à ce que vous pourriez en G (plus de 6 caractères!)
crdlmnt
pas grand chose à faire pour que ça marche:
vos références en colonne A sont suivies d'un tiret, et donc non conformes à celles éditées en G!ce n'est pas une question de format, mais de tiret!
le plus simple, car certaines ont des tirets, d'autres pas:
sélectionnez la colonne A
Edition / Remplacer
fenêtre du haut le tiret
fenêtre du bas rien
et OK les tirets vont disparaître et en H2 la formule:
RECHERCHEV(G2;A:B;3;0) renvoi bien 2435 (ligne 438)
en règle générale:
attention à la colonne A vous avez en bas de champ des valeurs de code qui ne correspondent pas du tout à ce que vous pourriez en G (plus de 6 caractères!)
crdlmnt
Salut cher ami
Merci pour votre disponibilité. Je vois que vous avez compris mon problème. Seulement, j'aimerais que vous sachiez que les tirets sur les 71 premières références de la colonne A ont été manuellement ajoutées par mes soins pour les rendre plus identiques à leurs semblables dans l'ensemble "n°-désignation" de la colonne F. disons qu'au départ elles étaient comme vous les avez transformées avec votre "edition/remplacer fenêtre du haut le tiret, fenêtre du bas rien". Je ne sais pas si nous obtenons le même résultat mais vous devez avoir dans la colonne A les n° sans les tirets mais également sans le zéro du début. C'est justement pour les afficher que j'avais mis les tirets (il s'agit pour la plupart des chiffres sans lettres). Si vous n'avez pas les zéros du début, les réf en A ne sont pas plus conformes à celles éditées en G. J'avais aussi réussi à avoir le bon coût unitaire en I pour la réf 0113F5. Seulement c'est eut-être parce qu'il fait référence au n° 0113F5 qui lui n'a pas perdu son zéro en A puisqu'il contient une lettre qui est le "F". Je n'ai pas plus de succès avec les références qui ne contiennent que les seuls numéros. Comme par exemple la deuxième ligne de G (012749) qui ne donne pas le bon résultat. J'ai même changé le format en A en choissant la catégorie "personnalisé" et en saisissant six zéros dans le champ. Mais RECHERCHEV ne marche toujours pas même après avoir obtenu 012749 en A et 012749 en G. D'où mon idée sur le format.
Merci pour votre disponibilité. Je vois que vous avez compris mon problème. Seulement, j'aimerais que vous sachiez que les tirets sur les 71 premières références de la colonne A ont été manuellement ajoutées par mes soins pour les rendre plus identiques à leurs semblables dans l'ensemble "n°-désignation" de la colonne F. disons qu'au départ elles étaient comme vous les avez transformées avec votre "edition/remplacer fenêtre du haut le tiret, fenêtre du bas rien". Je ne sais pas si nous obtenons le même résultat mais vous devez avoir dans la colonne A les n° sans les tirets mais également sans le zéro du début. C'est justement pour les afficher que j'avais mis les tirets (il s'agit pour la plupart des chiffres sans lettres). Si vous n'avez pas les zéros du début, les réf en A ne sont pas plus conformes à celles éditées en G. J'avais aussi réussi à avoir le bon coût unitaire en I pour la réf 0113F5. Seulement c'est eut-être parce qu'il fait référence au n° 0113F5 qui lui n'a pas perdu son zéro en A puisqu'il contient une lettre qui est le "F". Je n'ai pas plus de succès avec les références qui ne contiennent que les seuls numéros. Comme par exemple la deuxième ligne de G (012749) qui ne donne pas le bon résultat. J'ai même changé le format en A en choissant la catégorie "personnalisé" et en saisissant six zéros dans le champ. Mais RECHERCHEV ne marche toujours pas même après avoir obtenu 012749 en A et 012749 en G. D'où mon idée sur le format.
Vaucluse
Si je peux me permettre, par rapport à ce que je vous ai expliqué plus haut, je pense que le problème vient du fait que lorsque dans les colonnes G vous avez la formule =GAUCHE, la fonction RECHERCHEV et d'autres d'ailleurs ne connaissent pas de succès dans les colonnes H, I et J quand il s'agit des seuls chiffres. Par contre, en supprimant la cellule et en ressaisissant le même nombre, tout marche. Le problème est qu'il est très difficile de ressaisir manuellement le contenu des cellules de toute la colonne G contenant des chiffres.
Si je peux me permettre, par rapport à ce que je vous ai expliqué plus haut, je pense que le problème vient du fait que lorsque dans les colonnes G vous avez la formule =GAUCHE, la fonction RECHERCHEV et d'autres d'ailleurs ne connaissent pas de succès dans les colonnes H, I et J quand il s'agit des seuls chiffres. Par contre, en supprimant la cellule et en ressaisissant le même nombre, tout marche. Le problème est qu'il est très difficile de ressaisir manuellement le contenu des cellules de toute la colonne G contenant des chiffres.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour evenylno
J'ai cette macro qui devrait faire l'affaire:
Sub traitement()
Dim i, j As Integer
i = 2: j = 2
Do
Do
If InStr(1, Cells(j, 1), Cells(i, 7), 1) Then
Cells(i, 8) = Cells(j, 3)
Cells(i, 9) = Cells(j, 4)
j = 2: Exit Do
Else
j = j + 1
End If
Loop Until Cells(j, 1) = ""
i = i + 1
Loop Until Cells(i, 7) = ""
End Sub
Pour l'installer tu fais un clic droit sur l'onglet de la feuille que tu veux traiter. Tu choisis Visualiser le code. Dans la fenêtre qui s'ouvre, tu colles le code et tu appuies dans la barre d'outils sur le triangle vert.
La macro va démarrer, elle prend la première valeur F2 et compare à A1, A2, A3 etc jusqu'à trouver le même code (même s'il ya un trait). Quand elle a trouvé elle prend les valeurs de la colonne C et D et les inscrit en H et I.
Elle prend ensuite la deuxième valeur en F3 et refait la même opération etc...
Je te conseille avant de faire cette opération d'enregister ton fichier
Cordialement Patrice67
J'ai cette macro qui devrait faire l'affaire:
Sub traitement()
Dim i, j As Integer
i = 2: j = 2
Do
Do
If InStr(1, Cells(j, 1), Cells(i, 7), 1) Then
Cells(i, 8) = Cells(j, 3)
Cells(i, 9) = Cells(j, 4)
j = 2: Exit Do
Else
j = j + 1
End If
Loop Until Cells(j, 1) = ""
i = i + 1
Loop Until Cells(i, 7) = ""
End Sub
Pour l'installer tu fais un clic droit sur l'onglet de la feuille que tu veux traiter. Tu choisis Visualiser le code. Dans la fenêtre qui s'ouvre, tu colles le code et tu appuies dans la barre d'outils sur le triangle vert.
La macro va démarrer, elle prend la première valeur F2 et compare à A1, A2, A3 etc jusqu'à trouver le même code (même s'il ya un trait). Quand elle a trouvé elle prend les valeurs de la colonne C et D et les inscrit en H et I.
Elle prend ensuite la deuxième valeur en F3 et refait la même opération etc...
Je te conseille avant de faire cette opération d'enregister ton fichier
Cordialement Patrice67