Remplacer une chaîne de caractères par une autre

Fermé
M-bx Messages postés 3 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 19 septembre 2013 - 19 sept. 2013 à 11:14
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 19 sept. 2013 à 15:41
Bonjour,

Je sollicite votre aide car je souhaite actuellement structurer une base de données volumineuse sous Excel. Voici un résumé de mon problème :

- j'ai dans la case A1 un ensemble de chaîne de caractères. Il s'agit des de tous les numéros qui permettent d'identifier un unique brevet.

- j'ai dans la case B1 un autre ensemble de chaines de caractères (séparées par un ;) parmi lesquels figure au moins un des numéros se rapportant au brevet X.

- j'ai dans la case B2 un nouvel ensemble de chaines de caractères (séparées par un ;) parmi lesquels figurent un autre numéro se rapportant à mon brevet X.

L'idée est que dans les cases de la colonne B, toutes les différentes déclinaisons du numéro X soient remplacées par une seule (admettons la première déclinaison).

Je vous remercie d'avance pour l'ensemble de vos propositions.
A voir également:

3 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
19 sept. 2013 à 11:46
Bonjour

à condition que le code à remplacer soit le seul placé entre point virgule dans les ensemble
sélectionnez le champ
ctrl et h pour afficher la fenêtre de remplacement
en haut remplacer:
;*;
en bas par:
;votre code;
OK

Ps si le code n'est pas le seul entre point virgule, vous 'avez aucun chance de trouver une solution, excel ne pouvant pas choisir quel code remplacer.. à moins que le soit suivi d'un caractère spécifique
Ou alors en appliquant remplacer pour chaque type code.

crdlmnt

0
M-bx Messages postés 3 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 19 septembre 2013
19 sept. 2013 à 12:09
Merci Vaucluse pour cette réponse.

Je ne peux pas utiliser la fonction CTRL+H car tous mes numéros sont séparés par des ; et surtout je dois reproduire cette manipulation pour un très grand nombre de numéros.

Avant d'abandonner Excel, je vais tentais de faire une combinaison de fonction SI et TROUVE ou RECHERCHE. Mon problème est que je sais pas écrire une formule pour qu'Excel recherche plusieurs valeurs en même temps... Je verrais bien.

En tout cas, encore merci...
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
19 sept. 2013 à 12:23
Re
Ctrl h peut s'adresser d'un seul vcoup à tout un champ sans problème

Par contre,si vous n'avez aucun type spécifique pour identifier la partie à remplacer, aucune formule ni ni VBA ou autre type de remplacement n'y pourra quelque chose.
L'identifiant peut être le rang du point virgule qui débite le code par exemple (le 1° ou 2° ou 3° du texte, ect...)

Pouvez vous nous afficher une liste de modèle représentatifs en spécifiant la partie à remplacer?
à vous lire

crdlmnt
0
M-bx Messages postés 3 Date d'inscription jeudi 19 septembre 2013 Statut Membre Dernière intervention 19 septembre 2013
19 sept. 2013 à 14:30
Re,

Merci pour ces indications. Je ne vois pas trop comment je peux faire pour que CTRL+H remplace d'un seul coup tous mes numéros.

Je vous joins un fichier d'exemple. Ce n'est qu'un échantillon, je travaille actuellement sur 4 500 brevets.
https://www.cjoint.com/?0ItoCuc9XUH


Pour faire vite, j'étudie les liens de citation entre les brevets (les brevets Y, Z et W citent un brevet X dans mon exemple). Le problème est que les brevets Y, Z, Z ne citent pas le même numéro se référant au brevet X.
J'ai prévu de créer une "clef" pour chacun de mes 4 500 numéros qui serait un des numéros (le premier peut-être). Par exemple, pour le brevet X, le numéro EP686482.

Idéalement, j'aimerais qu'à chaque fois qu'un brevet cite le brevet X ce soit ce numéro (EP686482) qui apparaisse. La deuxième feuille présente artificiellement le résultat recherché.
Évidemment ce qui doit être fait pour le brevet X devrait être fait pour les autres 4 499 brevets. C'est pour cela que je souhaite avoir une formule que j'aurais plus qu'à étirer.

Merci bcp pour votre aide !!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
19 sept. 2013 à 15:41
C'est peut être un peu laborieux, et surtout pas trop facile à comprendre.
Si toutefois dans votre exemple s'il s'agit de remplacer toutes les valeurs du champ B9: B11 dont le N° est en B2 par EP686482,, ctrl h peut faire l'affaire par opération successives:
Sélectionnez B9:B11
crtl h
remplacez:
entrez une n° de la liste en B2
par:
entrez EP686482
remplacer tout
et comme la fenêtre reste affichée,, il suffit de placer successivement les n° de B2 dans la case "remplacer" et OK à chaque fois
Autrement on peut chercher par formule, mais ça risque d'être lourd, ou par VBA mais ce n'est pas dans mes compétences

crdlmnt
0