Rechercher et remplacer "en masse"

Bonjour,

Je cherche à remplacer des valeurs "en masse", comme suit:

|--Colonne A--|--Colonne B--|--Colonne C--|

|------- 5 ------|------A--------|---- A,D,ZE----|

|------ 10 ------|-----CQ-------|-----KR,A------|

|------ 45 ------|------D--------|-----A,KR,ZE--|

|------ 55 ------|------XX-------|-----D,CQ-----|

|------ 78 ------|------KR-------|-----A,XX------|

|------ 84 ------|------ZE-------|-----KR,D,CQ--|

Valeur en colonne A = Valeur en colonne B

La colonne C reprend les lettre de la colonne B. J'aimerai sur toute la colonne 3, remplacer les lettres par les chiffres correspondant en colonne 1.

Exemple en 1C : remplacer A,D,ZE, par 5,45,84

Exemple en 2C : remplacer KR,A par 78,5

Est ce possible ? Je bloque... a part faire 1 par 1 rechercher et remplacer... j'ai 300 valeurs à remplacer.

Merci d'avance pour votre aide

edit: Exemple ci joint

166exemple01.zip (3.71 Ko)

Bonjour

Par formules je ne sais pas

Avec une macro

Merci beaucoup, ça fonctionne parfaitement ! vous m'avez fait gagner bcp de temps !

Bonjour,

j'ai télécharger votre fichier mais je ne sais pas comment utiliser votre macro (je suis totalement novice en excel...)

Merci!

Bonjour et bienvenu(e)

Pas glop glop de squatter un post, tu peux en ouvrir un à ton compte (en faisant référence à un autre si besoin)

Mais ce n'est pas grave

ruben06 a écrit :

mais je ne sais pas comment utiliser votre macro

Je te répondrais "En cliquant sur le bouton"

Mais je pense que tu as un souci avec des données et que cette macro (en l'état) ne répond pas à ton souhait

Dans ce cas il faut fournir un fichier dans lequel tu indiques ce que tu as et ce que tu veux (des exemples sont très appréciés)

Banzai64 a écrit :

Bonjour et bienvenu(e)

Pas glop glop de squatter un post, tu peux en ouvrir un à ton compte (en faisant référence à un autre si besoin)

Mais ce n'est pas grave

Je pense au contraire qu'il n'est pas utile de multiplier les topics similaires étant donné que mon problème est exactement le même que celui énoncé.

Pour ce qui est du bouton il ne se passe rien, d'ou ma question

Bonjour

Tu m'expliquera comment tu vas pouvoir passer le post en résolu (dans le cas ou il n'y serait pas)

Mais comme j'ai dit ce n'est pas grave

Il faut que tu approuves les macros

Je viens de le tester et pas de souci

Bonjour,

En effet je n'avais pas pensé au problème du sujet résolu

Pour la macro, j'avais testé sur linux mais la sur windows pas de soucis.

Je l'ai utilisé pour mon cas ça fonctionne nikel

Merci!

Bonjour,

je viens de me rendre compte d'un soucis lors de l’exécution et je voulais savoir si vous pouvez m'aider.

Au lieu de prendre en compte la valeur complète de la cellule, la macros procède au remplacement de la valeur des qu'elle trouve une correspondance.

Un exemple : la catégorie "USV - Zubehör", qui correspond a l'id 478, ne sera pas remplace par 478 comme elle l'est censé letre, mais par 108 - 471 car USV est une catégorie qui a l'id 108 et Zubehör une autre catégorie qui a l'id 471.

Merci d'avance de votre aide!

Bonjour

Joins le fichier en cause en y indiquant ce que tu as et le résultat attendu

Désolé pour le fichier

A la ligne 2 par exemple, a la place de "68 - hybrid" je souhaiterais avoir "295".

(Car comme on peux le voire a la ligne 288 l'id de la catégorie "Telefonanlagen - hybrid" est 295)

28classeur3.xlsx (27.08 Ko)

Bonjour

Il faut le fichier concerné avec la macro

Banzai64 a écrit :

Bonjour

Il faut le fichier concerné avec la macro

Voici le bon fichier.

Bonjour

Remplace la macro actuelle par celle-ci et dis si c'est ce que tu cherches

Sub RechercheRemplace()
Dim J As Long, NbLg As Long, Cel As Range

  Application.ScreenUpdating = False
  NbLg = Range("B" & Rows.Count).End(xlUp).Row
  Range("C1:C" & NbLg).Copy Range("D1")
  For J = 1 To NbLg
    Do
      Set Cel = Columns("D").Find(what:=Range("B" & J), LookIn:=xlValues, lookat:=xlWhole)
      If Not Cel Is Nothing Then
        Cel = Range("A" & J)
      Else
        Exit Do
      End If
    Loop
  Next J
End Sub

Ca marche nickel merci beaucoup pour ton aide!

Bonjour,

Merci pour cette fonction très utile, elle fonctionne bien pour un texte relativement cours, mais comment pourrais-je l'adapter à de grande liste de mots ?

J'ai tenté de l'appliquer tel quel, mais cela me met un message d'erreur 1004, erreur d'exécution : la méthode Replace de la classe Range a échouée. En pratique, la formule fonctionne pour quelque ligne et semble s'arrêter de fonctionner après.

Pouvez-vous m'aider ? Et si nécessaire me dire comment remodeler le script ? (je débute complètement).

Merci !

Je vous remet le script ici :

Sub RechercheRemplace()
Dim J As Long, NbLg As Long

  Application.ScreenUpdating = False
  NbLg = Range("B" & Rows.Count).End(xlUp).Row
  Range("C1:C" & NbLg).Copy Range("D1")
  For J = 1 To NbLg
    Columns("D").Replace what:=Range("B" & J), replacement:=Range("A" & J)
  Next J
End Sub

Bonjour, merci pour cette macro très utile, et désolé pour le déterrage de sujet.

Elle fonctionne parfaitement mais j'ai un problème dans l'utilisation.

Je recherche des mots ou expressions à remplacer par d'autres pour du référencement web. Par exemple, je remplace "horloges

" par "<strong>horloges</strong>"

Le problème c'est que la macro fonctionne trop bien, et me remplace dans mon texte de référence également les urls. Je me retrouve ainsi avec "siteweb.fr/produit/<strong>horloges</strong>"

Est-il possible d'exclure de la macro les bouts de texte compris entre 2 caractères ?

Exemple : exclure de la macro les bouts de texte compris entre < a href et ">

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.. Retrouvez les autres produits <a href="siteweb.fr/xxxxxxxx">de notre collection Blabla</a> comme par exemple <a href="siteweb.fr/yyyyyy">la commode</a> !

Merci pour la réponse,

Cordialement

Rechercher des sujets similaires à "rechercher remplacer masse"