Problème de recherche que je n'arrive pas à résoudre
landos
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
landos Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
landos Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais avec une macro réaliser une recherche et une copie d'éléments.
Je donne l'exemple :
Sexe Famille
M 002
F 001
M 005
F 003
M 006
M 008
M 011
F 030
M 012
M 014
F 015
M 016
F 031
M 017
F 013
M 020
Niveau Famille
CM1 002$001
CM2 005$003
CM2 006
CM2 008
CM2 011$030
CM1 012
CM2 014$015
CM2 016$031
CM2 017$013
CM1 020
CM1 023
CM1 024
CM1 026
Les deux extraits sont dans deux feuilles différentes.
Je voudrais dans la première rechercher le contenu de la cellule famille dans la colonne famille de la deuxième et écrire la gauche de la deuxième.
dans la cellule suivante il faut chercher 001 écrire 002 (qui fait partie de la chaîne 002$001
De même pour les 2 cellules suivantes (005 et 003) qui devraient devenir 005 et 005 depuis la chaîne 005$003
Le 006 serait dans la recherche mais ne changerait bien sur pas...
Les colonnes à traiter peuvent avoir jusqu'à 400 lignes.
J'avoue que je sèche...
Si quelqu'un peut me donner une piste ou une idée, je suis preneur.
Merci d'avance.
Yves
Je souhaiterais avec une macro réaliser une recherche et une copie d'éléments.
Je donne l'exemple :
Sexe Famille
M 002
F 001
M 005
F 003
M 006
M 008
M 011
F 030
M 012
M 014
F 015
M 016
F 031
M 017
F 013
M 020
Niveau Famille
CM1 002$001
CM2 005$003
CM2 006
CM2 008
CM2 011$030
CM1 012
CM2 014$015
CM2 016$031
CM2 017$013
CM1 020
CM1 023
CM1 024
CM1 026
Les deux extraits sont dans deux feuilles différentes.
Je voudrais dans la première rechercher le contenu de la cellule famille dans la colonne famille de la deuxième et écrire la gauche de la deuxième.
dans la cellule suivante il faut chercher 001 écrire 002 (qui fait partie de la chaîne 002$001
De même pour les 2 cellules suivantes (005 et 003) qui devraient devenir 005 et 005 depuis la chaîne 005$003
Le 006 serait dans la recherche mais ne changerait bien sur pas...
Les colonnes à traiter peuvent avoir jusqu'à 400 lignes.
J'avoue que je sèche...
Si quelqu'un peut me donner une piste ou une idée, je suis preneur.
Merci d'avance.
Yves
A voir également:
- Problème de recherche que je n'arrive pas à résoudre
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Je recherche une chanson - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Probleme recherche chaine tv tcl - Forum TV & Vidéo
6 réponses
Bonjour
je ne sais pas si vous nous dites tout, à, mais s'il 'y a qu'une fois le code cherché dans le champ, et si la configuration de vos codes et toujours la même, sans VBA:
Exemple à adapter
en X1: le code cherché en A1:A400 vos codes:
en Y1 la formule
=SI(ET(X1<>"";NB.SI($A$1:$A$400;"*"&$X1));GAUCHE(DROITE(RECHERCHEV("*"&$X1;$A$1:$A$400;1;0);7);3);"")
attention X1 doit être un texte, à entrer donc avec l'apostrophe:'001
attention à la position de "*" qui pré&cise que le texte cherché doit être à la fin du texte complet
crdlmnt
je ne sais pas si vous nous dites tout, à, mais s'il 'y a qu'une fois le code cherché dans le champ, et si la configuration de vos codes et toujours la même, sans VBA:
Exemple à adapter
en X1: le code cherché en A1:A400 vos codes:
en Y1 la formule
=SI(ET(X1<>"";NB.SI($A$1:$A$400;"*"&$X1));GAUCHE(DROITE(RECHERCHEV("*"&$X1;$A$1:$A$400;1;0);7);3);"")
attention X1 doit être un texte, à entrer donc avec l'apostrophe:'001
attention à la position de "*" qui pré&cise que le texte cherché doit être à la fin du texte complet
crdlmnt
Bonjour Vaucluse,
Merci pour cette réponse qui fonctionne, mais uniquement sur la deuxième ligne.
Il faut balayer le code cherché pour chacune des lignes.
Pour la première ligne je dois chercher 002, comme il existe à gauche, j'écris 002
pour la deuxième, je cherche 001, il n'existe pas à gauche donc j'écris 002
pour la troisième je cherche 005, il existe à gauche, donc j'écris 005
pour la quatrième je cherche 003, il n'existe pas à gauche donc j'écris 005
et ce jusqu'à la fin de ma colonne du premier tableau.
Merci encore à vous de m'aider.
Si vous le souhaitez, je peux vous envoyer les fichiers.
Bon après-midi
Cordialement
Merci pour cette réponse qui fonctionne, mais uniquement sur la deuxième ligne.
Il faut balayer le code cherché pour chacune des lignes.
Pour la première ligne je dois chercher 002, comme il existe à gauche, j'écris 002
pour la deuxième, je cherche 001, il n'existe pas à gauche donc j'écris 002
pour la troisième je cherche 005, il existe à gauche, donc j'écris 005
pour la quatrième je cherche 003, il n'existe pas à gauche donc j'écris 005
et ce jusqu'à la fin de ma colonne du premier tableau.
Merci encore à vous de m'aider.
Si vous le souhaitez, je peux vous envoyer les fichiers.
Bon après-midi
Cordialement
Vaucluse,
En lien le fichier pour tester.
Merci beaucoup.
Cordialement
https://www.cjoint.com/?3IAoDiIgyvq
En lien le fichier pour tester.
Merci beaucoup.
Cordialement
https://www.cjoint.com/?3IAoDiIgyvq
Pas facile à piger votre affaire
le problème revient il à dire qu'il faut chercher le code à gauche lorsqu'on a un M en A et dans le code complet lorsqu'on a un F?
ensuite renvoyer le code à gauche dans les deux cas si la condition est remplie?
dans tous les cas si la condition n'est pas remplie que fait il faire?
Ce que vous appelez unique est il le fait que le code ne contient que trois chiffres?
à vous lire
le problème revient il à dire qu'il faut chercher le code à gauche lorsqu'on a un M en A et dans le code complet lorsqu'on a un F?
ensuite renvoyer le code à gauche dans les deux cas si la condition est remplie?
dans tous les cas si la condition n'est pas remplie que fait il faire?
Ce que vous appelez unique est il le fait que le code ne contient que trois chiffres?
à vous lire
Les nombres du tableau sont pour permettre le rattacher des enfants à leurs parents respectifs lorsque ceux-ci n'habitent pas à la même adresse.
C'est l'objet de tout un traitement dans une macro pour traiter les fichiers avant ce stade.
Là je veux faire que les deux parents qui n'habitent pas à la même adresse aient le même numéro que l'enfant.
Le traitement précédent ne peut pas être modifié.
Le résultat résumé est le suivant pour moi :
Dans la chaîne contenant le $ si la partie gauche est identique à la cellule d'origine on garde la partie gauche.
Si la cellule à chercher correspond à la partie droite on prend la partie gauche.
Mais si c'est plus facile ont peut aussi envisager d'utiliser le champ civilité de la feuille parents.
Espérant avoir rendu ma demande moins nébuleuse.
Merci
C'est l'objet de tout un traitement dans une macro pour traiter les fichiers avant ce stade.
Là je veux faire que les deux parents qui n'habitent pas à la même adresse aient le même numéro que l'enfant.
Le traitement précédent ne peut pas être modifié.
Le résultat résumé est le suivant pour moi :
Dans la chaîne contenant le $ si la partie gauche est identique à la cellule d'origine on garde la partie gauche.
Si la cellule à chercher correspond à la partie droite on prend la partie gauche.
Mais si c'est plus facile ont peut aussi envisager d'utiliser le champ civilité de la feuille parents.
Espérant avoir rendu ma demande moins nébuleuse.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question