Comment remplacer des lettres par d'autres

Bonjour

Pouvez vous m'aider à résoudre ce problème

Dans une colonne j'ai une série de lettres unique par cellule ou composée et séparée par des virgules. Certaines lettres sont obsolètes. Pour les modifier je passe par rechercher remplacer (Ctrl H) mais la manip est longue compte tenu du nombre de ligne.

D

J, M

U

E

V

P

B

T

9

D, E, X

0, N

0, J, M

3, 9

0, 4, D, E, S, U, X

J, S

P, S

J, T

4, J, S, T

D, E, S

E, S

&

D, E, J, S

$, T

C, D, E, J, S

4, 9, D, E, J, K, P, S, X

D, F, J

N

0, D, E, J, M, S, X

D, E, J, P

Je voudrais remplacer les C, *,$

Auriez vous une formule à me proposer

Merci par avance

Bonjour et bienvenue,

CTRL+H

Dans la ligne rechercher: C, *,$

Dans la ligne remplacer: "ton nouveau texte"

puis l'option Remplacer tout

cordialement

Bonjour

et merci au nombreuses personnes qui ont visualisé la question. La réponse qui m'a été faite ne répond pas à ma question car je n'ai pas était assez explicite et je remercie cette personne.

C'est simple avec une donnée mais dès que l'on passe sur une écriture multiple il faut rechercher dans un premier temps ces valeurs et puis les remplacer sans faire d'erreur sinon il supprime d'autre.

Exemples : Remplacer la valeur de N par S por ces valeurs multiples

*,5,9,N

8,*,C,4,U,W,N

A,B,C,D,N,8,4,3

Existe t il un autre par une formule ou par une macro de dire remplacer N par S dans toute la colonne ?

Merci de votre compréhension.

Cdlt

bonjour,

pourtant ctrl-H est la méthode la plus efficace pour obtenir le résultat que tu souhaites

pour les 3 cas : (tu peux ajouter le conditions de respect de la casse et de recherche sur contenu entier de la case (si nécessaire)

remplacer

*,5,9,N par *,5,9,S

8,*,C,4,U,W,N par 8,*,C,4,U,W,S

A,B,C,D,N,8,4,3 par A,B,C,D,S,8,4,3

h2so4 a écrit :

bonjour,

pourtant ctrl-H est la méthode la plus efficace pour obtenir le résultat que tu souhaites

pour les 3 cas : (tu peux ajouter le conditions de respect de la casse et de recherche sur contenu entier de la case (si nécessaire)

remplacer

*,5,9,N par *,5,9,S

8,*,C,4,U,W,N par 8,*,C,4,U,W,S

A,B,C,D,N,8,4,3 par A,B,C,D,S,8,4,3

Bonjour

Tu m'avais convaincu d'utiliser contre H mais voilà je suis tombé sur hic

Dans mes données en voulant remplacer une valeur je n'avais fait attention qu'une valeur que je demandais de remplacer existait dans une chaîne ce qui fait que j'ai deux lettres dans la même chaîne de caractères.

Penses tu qu'il y ait un moyen de contrer ce couac ?

Merci par avance

jag83 a écrit :
h2so4 a écrit :

bonjour,

pourtant ctrl-H est la méthode la plus efficace pour obtenir le résultat que tu souhaites

pour les 3 cas : (tu peux ajouter les conditions de respect de la casse et de recherche sur contenu entier de la case (si nécessaire)

remplacer

*,5,9,N par *,5,9,S

8,*,C,4,U,W,N par 8,*,C,4,U,W,S

A,B,C,D,N,8,4,3 par A,B,C,D,S,8,4,3

Bonjour

Tu m'avais convaincu d'utiliser contre H mais voilà je suis tombé sur hic

Dans mes données en voulant remplacer une valeur je n'avais fait attention qu'une valeur que je demandais de remplacer existait dans une chaîne ce qui fait que j'ai deux lettres dans la même chaîne de caractères.

Penses tu qu'il y ait un moyen de contrer ce couac ?

Merci par avance


Bonjour,

peux-tu illustrer ton problème ? à quel résultat t'attends-tu dans ce cas ?

h2so4 a écrit :
jag83 a écrit :
h2so4 a écrit :

bonjour,

pourtant ctrl-H est la méthode la plus efficace pour obtenir le résultat que tu souhaites

pour les 3 cas : (tu peux ajouter les conditions de respect de la casse et de recherche sur contenu entier de la case (si nécessaire)

remplacer

*,5,9,N par *,5,9,S

8,*,C,4,U,W,N par 8,*,C,4,U,W,S

A,B,C,D,N,8,4,3 par A,B,C,D,S,8,4,3

Bonjour

Tu m'avais convaincu d'utiliser contre H mais voilà je suis tombé sur hic

Dans mes données en voulant remplacer une valeur je n'avais fait attention qu'une valeur que je demandais de remplacer existait dans une chaîne ce qui fait que j'ai deux lettres dans la même chaîne de caractères.

Penses tu qu'il y ait un moyen de contrer ce couac ?

Merci par avance


Bonjour,

peux-tu illustrer ton problème ? à quel résultat t'attends-tu dans ce cas ?

Bonjour, pour illustrer mon problème je joins une petite liste.

D

J, M

U

4, 9, D, E, J, K, P, S, X

D, F, J

N

0, D, E, J, M, S, X

D, E, J, P

Si je change J par M, je vais avoir M, M il ne faudrait pas que cela se produise. Pour toute lettre déjà répertoriée, ne pas effectuer le changement.

Est ce possible ?

Cordialement

Bonjour,

il faudra passer par une macro qui supprime les doublons,

une proposition de macro à tester (ne fait pas le remplacement, mais supprime les doublons dans les séquences trouvées en colonne A

Sub test()
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        t = Split(Cells(i, 1), ", ")
        flag = False
        For j = LBound(t) To UBound(t) - 1
            For k = j + 1 To UBound(t)
                If t(j) = t(k) Then t(j) = "": flag = True: Exit For
            Next k
        Next j
        If flag Then
            sep = ""
            s = ""
            For j = LBound(t) To UBound(t)
                If t(j) <> "" Then s = s & sep & t(j)
                If s <> "" Then sep = ", "
            Next j
            Cells(i, 1) = s
        End If
    Next i
End Sub
h2so4 a écrit :

Bonjour,

il faudra passer par une macro qui supprime les doublons,

une proposition de macro à tester (ne fait pas le remplacement, mais supprime les doublons dans les séquences trouvées en colonne A

Sub test()
    For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
        t = Split(Cells(i, 1), ", ")
        flag = False
        For j = LBound(t) To UBound(t) - 1
            For k = j + 1 To UBound(t)
                If t(j) = t(k) Then t(j) = "": flag = True: Exit For
            Next k
        Next j
        If flag Then
            sep = ""
            s = ""
            For j = LBound(t) To UBound(t)
                If t(j) <> "" Then s = s & sep & t(j)
                If s <> "" Then sep = ", "
            Next j
            Cells(i, 1) = s
        End If
    Next i
End Sub

Bonsoir,

Ta macro fonctionne. j'ai refait des manipulations et je trouve très lourd la manip CTRL H.

Cordialement

Bonsoir,

bien sûr il est possible de programmer ce que tu fais en utilisant ctrl-H mais il faudra quand même indiquer ce que tu veux remplacer et par quoi ... je ne vois pas bien le gain que l'on pourrait faire. sauf si tu dois répéter cette opération régulièrement.

tu peux alors utiliser l'enregistreur une première fois et par la suite exécuter le code enregistré.

h2so4 a écrit :

Bonsoir,

bien sûr il est possible de programmer ce que tu fais en utilisant ctrl-H mais il faudra quand même indiquer ce que tu veux remplacer et par quoi ... je ne vois pas bien le gain que l'on pourrait faire. sauf si tu dois répéter cette opération régulièrement.

tu peux alors utiliser l'enregistreur une première fois et par la suite exécuter le code enregistré.

Comme je ne suis pas un expert comme toi en macro, n'y a t il pas moyen de déclarer les variables dans un tableau soit pour remplacer ou pour supprimer et empêcher les écritures doubles.

qu'en penses tu ?

Cdlt

Bonsoir,

si tu donnes les indications précises de ce que tu veux faire, on doit pouvoir l'automatiser.

il faut donc que tu précises les données de départ, le résultat qu'il faut obtenir et les règles pour passer des données de départ au résultat.

un cas concret (avec les explications) dans un fichier est le plus efficace.

h2so4 a écrit :

Bonsoir,

si tu donnes les indications précises de ce que tu veux faire, on doit pouvoir l'automatiser.

il faut donc que tu précises les données de départ, le résultat qu'il faut obtenir et les règles pour passer des données de départ au résultat.

un cas concret (avec les explications) dans un fichier est le plus efficace.

Bonsoir

je réfléchis au problème et je t'envoie un fichier

Bonne soirée et merci

h2so4 a écrit :

Bonsoir,

bien sûr il est possible de programmer ce que tu fais en utilisant ctrl-H mais il faudra quand même indiquer ce que tu veux remplacer et par quoi ... je ne vois pas bien le gain que l'on pourrait faire. sauf si tu dois répéter cette opération régulièrement.

tu peux alors utiliser l'enregistreur une première fois et par la suite exécuter le code enregistré.

Bonjour,

Pour cette macro, je l'utilise effectivement régulièrement.

Avant de commencer mes données sont séparées par des virgules sous le format " B, N, Q; 1 " peut être à modifier avant ? car après ils seront " B;N;Q;1 "

Les données de base :

Les données ne sont pas connues d'avance (peut être définir une table pour mettre ces valeurs)

A remplacer ou à supprimer. Pour les données seules laisser la cellule vide mais ne pas supprimer la cellule.

Format des lettres : minuscules ou majuscules séparés par des points virgule sans espaces le contraire de ce qui a aujourd'hui. Nouveau format : B;1;7;9;Q

Pas de doublon après remplacement genre " K, K " ou K;K;1;2;5;O;*;/;µ;$;@

Les écritures : lettres seules, bloc de caractères, chiffres, ou caractères spéciaux.

Avec ces données, peux-tu faire quelque chose stp ?

Merci

Cdlt

bonsoir,

je t'ai fait une macro qui exécutera des commandes que tu mettras dans une feuille paramètres.

les commandes disponibles sont

remplacer une chaîne de caractères par une autre dans une colonne d'une feuille

supprimer une chaîne de caractères dans une colonne d'une feuille

supprimer les doublons dans une colonne d'une feuille

ci joint le fichier contenant la macro et des exemples de paramètres, tu devrais toujours laisser les 4 dernières lignes puisque celles-ci contiennent les instructions pour supprimer les doublons, remplacer les , par ; et faire le nettoyage qui reste à faire.

h2so4 a écrit :

bonsoir,

je t'ai fait une macro qui exécutera des commandes que tu mettras dans une feuille paramètres.

les commandes disponibles sont

remplacer une chaîne de caractères par une autre dans une colonne d'une feuille

supprimer une chaîne de caractères dans une colonne d'une feuille

supprimer les doublons dans une colonne d'une feuille

ci joint le fichier contenant la macro et des exemples de paramètres, tu devrais toujours laisser les 4 dernières lignes puisque celles-ci contiennent les instructions pour supprimer les doublons, remplacer les , par ; et faire le nettoyage qui reste à faire.

Bonsoir

Déroulement du test effectué :

J'ai copié dans sheets 1 les données colonne A

Dans paramètres : cellule B1 j'ai entré la lettre J et cellule D1 j'ai entré la valeur M action macro les données ont été changé mais voilà des doublons.

j'ai supprimer J et M et j'ai lancé la macro de nouveau les doublons restent

J'ai râté quelque chose ?

Bonsoir,

l'exemple que j'ai donné fonctionne avec les paramètres que j'ai introduits. j'ai oublié de préciser que tu peux mettre autant de lignes de commande que tu le souhaites, elles doivent se suivre sans ligne vide. les colonnes rosées indiquent les parties qui doivent être complétées

Le séparateur pour la détection des doublons, doit être la virgule, sinon il faut ajouter en première ligne une commande pour remplacer les ; par ,

sinon pour t'aider davantage, il m'est difficile de comprendre ce qui ne va pas sans ton fichier.

h2so4 a écrit :

Bonsoir,

l'exemple que j'ai donné fonctionne avec les paramètres que j'ai introduits. j'ai oublié de préciser que tu peux mettre autant de lignes de commande que tu le souhaites, elles doivent se suivre sans ligne vide. les colonnes rosées indiquent les parties qui doivent être complétées

Le séparateur pour la détection des doublons, doit être la virgule, sinon il faut ajouter en première ligne une commande pour remplacer les ; par ,

sinon pour t'aider davantage, il m'est difficile de comprendre ce qui ne va pas sans ton fichier.

bonjour

je te joins le fichier avec mon essai, tu pourras t'apercevoir que le M est doublé dans certaines cellules.

A te lire bientôt

Cdlt


jag83 a écrit :
h2so4 a écrit :

Bonsoir,

l'exemple que j'ai donné fonctionne avec les paramètres que j'ai introduits. j'ai oublié de préciser que tu peux mettre autant de lignes de commande que tu le souhaites, elles doivent se suivre sans ligne vide. les colonnes rosées indiquent les parties qui doivent être complétées

Le séparateur pour la détection des doublons, doit être la virgule, sinon il faut ajouter en première ligne une commande pour remplacer les ; par ,

sinon pour t'aider davantage, il m'est difficile de comprendre ce qui ne va pas sans ton fichier.

bonjour

je te joins le fichier avec mon essai, tu pourras t'apercevoir que le M est doublé dans certaines cellules.

A te lire bientôt

le fichier arrive

Cdlt

jag83 a écrit :
h2so4 a écrit :

Bonsoir,

l'exemple que j'ai donné fonctionne avec les paramètres que j'ai introduits. j'ai oublié de préciser que tu peux mettre autant de lignes de commande que tu le souhaites, elles doivent se suivre sans ligne vide. les colonnes rosées indiquent les parties qui doivent être complétées

Le séparateur pour la détection des doublons, doit être la virgule, sinon il faut ajouter en première ligne une commande pour remplacer les ; par ,

sinon pour t'aider davantage, il m'est difficile de comprendre ce qui ne va pas sans ton fichier.

bonjour

je te joins le fichier avec mon essai, tu pourras t'apercevoir que le M est doublé dans certaines cellules.

A te lire bientôt

Cdlt


jag83 a écrit :
h2so4 a écrit :

Bonsoir,

l'exemple que j'ai donné fonctionne avec les paramètres que j'ai introduits. j'ai oublié de préciser que tu peux mettre autant de lignes de commande que tu le souhaites, elles doivent se suivre sans ligne vide. les colonnes rosées indiquent les parties qui doivent être complétées

Le séparateur pour la détection des doublons, doit être la virgule, sinon il faut ajouter en première ligne une commande pour remplacer les ; par ,

sinon pour t'aider davantage, il m'est difficile de comprendre ce qui ne va pas sans ton fichier.

bonjour

je te joins le fichier avec mon essai, tu pourras t'apercevoir que le M est doublé dans certaines cellules.

A te lire bientôt

le fichier arrive

Cdlt

Re

Un oubli peux tu faire partir la commande à partir de A2 dans le sheet1, je pourrais mettre un filtre.

Est ce que la macro que tu m'avais la 1ere fois qui supprimait les doubles lettres va dans le sens du doublon de ta nouvelle macro. Jes suis en train de me dire que j'ai peut être fait une erreur de language en parlant de doublon ?

cdlt

Bonjour,

j'ai lancé la macro sur le fichier que tu as donné, je ne vois pas de doublons. j'ai cependant corrigé un bug (la suppression des doublons ne se faisait que dans la colonne A.

la suppression des doublons correspond à ta demande initiale qui était éliminer les lettres en double sur une même ligne.

enfin ton souhait pour voir la macro s'exécuter à partir de la ligne 2 a été ajouté.

edit : correction faute d'orthographe monstrueuse

Rechercher des sujets similaires à "comment remplacer lettres"