IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Comment remplacer des lettres


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Comment remplacer des lettres
    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 séparé 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

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Remplacer des caractères par d'autres par macro
    Bonjour

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Remplacement()
     
        Selection.Replace What:="C", Replacement:="Q", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
            ReplaceFormat:=False
        Selection.Replace What:="$", Replacement:="D", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
            ReplaceFormat:=False
    End Sub
    Par contre le caractère * est un caractère qui signifie tous les caractères et là , je n'ai pas l'astuce...
    Bon courage

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Remplacer des caractères par d'aures
    Je viens de trouver pur le signe *,il faut mettre tilda devant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Selection.Replace What:="~*", Replacement:="W", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
            ReplaceFormat:=False
    A +

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 416
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 416
    Points : 16 259
    Points
    16 259
    Par défaut
    Bonjour

    Un cherche et remplace manuel ou VBA mettra le même temps, il me semble, si en manuel on utilise l'option remplacer tout...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour

    Je suis novice en la matière pouvez vous m'expliquer SVP comment je fais pour intégrer cette ligne de code
    Je suis un débutant alors les macros c'est un peu dur. Pouvez m'expliquer comment je fais pour l'associer à un classeur et la manière de procéder avec un bouton SVP
    J'ai regardé votre macro et je vois que vous déclarer les lettres à changer. y a t il moyen de définir une matrice dans laquelle je mettrais les lettres à remplacer ou cela vous paraît inconcevable .

    encore mille merci pour votre aide.

    Cordialement

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Tu crées deux variables tableaux de même longueur que tu traites ensuite dans une boucle.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     Dim OldLetter(), NewLetter(), Elem As Byte
     OldLetter = Array("D", "G"): NewLetter = Array("FI", "H")
     For Elem = 0 To UBound(OldLetter)
      Selection.Replace What:=OldLetter(Elem), Replacement:=NewLetter(Elem), LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
            ReplaceFormat:=False
     Next
    End Test
    Au lieu de passer par la fonction Array, tu peux bien entendu passer par une table tirée d'une plage de cellules se trouvant par exemple dans une feuille paramètre
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jag83 Voir le message
    Je voudrais remplacer les C, *,$
    Replacer pas quoi ?

    En supposant que tu veux les remplacer par "+" et que la première cellule de tes données est en A1.
    Tu places en B1 la formule suivantes :
    Tu recopies cette cellule vers la droite et, dans la copie, tu changes "C" et "+" par la nouvelle substitution souhaitée, etc.
    Tu la recopies l'ensemble des cellules contenant cette formule pour toutes tes lignes de données.
    Ta dernière colonne devrai donner le résultat souhaité.

    Je te conseil, à la fin de faire un gros "copier" + "coller valeur" sur la dernière colonne pour figer tout ça.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Tu crées deux variables tableaux de même longueur que tu traites ensuite dans une boucle.
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub Test()
     Dim OldLetter(), NewLetter(), Elem As Byte
     OldLetter = Array("D", "G"): NewLetter = Array("FI", "H")
     For Elem = 0 To UBound(OldLetter)
      Selection.Replace What:=OldLetter(Elem), Replacement:=NewLetter(Elem), LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=True, _
            ReplaceFormat:=False
     Next
    End Test
    Au lieu de passer par la fonction Array, tu peux bien entendu passer par une table tirée d'une plage de cellules se trouvant par exemple dans une feuille paramètre
    Bonjour

    Je ne suis pas un grand expert de macro mais si je te fourni une petit tableau, peux tu me le transposer dans la feuille de calcul Feuil 1 avec un petit bouton de commande :

    Merci

    Cdlt
    Fichiers attachés Fichiers attachés

  9. #9
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Replacer pas quoi ?

    En supposant que tu veux les remplacer par "+" et que la première cellule de tes données est en A1.
    Tu places en B1 la formule suivantes :
    Tu recopies cette cellule vers la droite et, dans la copie, tu changes "C" et "+" par la nouvelle substitution souhaitée, etc.
    Tu la recopies l'ensemble des cellules contenant cette formule pour toutes tes lignes de données.
    Ta dernière colonne devrai donner le résultat souhaité.

    Je te conseil, à la fin de faire un gros "copier" + "coller valeur" sur la dernière colonne pour figer tout ça.
    Bonjour

    ta formule fonctionne mais pour des données du type "C, D, E, J, S" cela donne ", D, E, J, S" il me reste la virgule. Ta formule est pour une lettre seule mais peux tu me proposer une autre formule qui pourrait aller chercher des valeurs dans une matrice. Qu'en penses tu ?

    Merci

    Cdlt
    "

  10. #10
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jag83 Voir le message
    ta formule fonctionne mais pour des données du type "C, D, E, J, S" cela donne ", D, E, J, S" il me reste la virgule.
    Tu as dis que tu voulais remplacer des lettres. Tu n'as pas dis que tu voulais les supprimer.

    Ta formule est pour une lettre seule mais peux tu me proposer une autre formule qui pourrait aller chercher des valeurs dans une matrice.
    Je t'ai indiqué dans mon précédent message qu'il suffisait de copier la formule vers la droite en mettant une nouvelle valeur dans la valeur recherchée.

    Si tu veux mettre les valeurs à rechercher dans des cellules, il te suffit de changer le second paramètre.
    Par exemple, si tes données vont de A2 à A100.
    Tu mets "C" en B1
    En B2, tu mets la formule :
    Tu copies la formule en C2, D2, E2 et tu mets en C1, D1 et E1 d'autres valeurs que tu veux remplacer.
    Tu copies B2:E2 et tu le colles en B3:E100.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je ne suis pas un grand expert de macro mais si je te fourni une petit tableau, peux tu me le transposer dans la feuille de calcul Feuil 1 avec un petit bouton de commande :
    Sauf si je me suis trompé, il me semble que Developpez.com est un club d'entraide des développeurs.
    Entraide signifie que la personne qui pose des questions fera un minimum d'effort pour arriver à la solution.
    Or au vu de ta réponse ainsi que celle que tu as laissé dans une autre discussion intitulée Compléter des références, qui depuis ma dernière intervention de ce matin n'a plus suscité aucune réaction de ta part, me laisse supposer que tu attends des solutions toutes faites (style Copier/Coller) sans apporter ta contribution.
    Ce n'est pas comme cela que j'entrevoie d'aider quelqu'un. Il existe pour cela des consultants, programmeurs professionnels, etc. qui sont rétribués pour le faire.
    J'ajouterai qu'il existe sur ce site et ailleurs des centaines de tutoriels pour apprendre et évoluer.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2015
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Je suis justement sur la 1ère question et pour moi cela, je dois le dire me donne du travail que je ne refuse pas car c'est en forgeant que l'on devient forgeron. En fonction de tes données je teste, mais je mets plus de temps que des personnes naviguant avec aisance dans ce dédale de formule de cet outil.

    Merci

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et bien une petite réponse du style, "je teste et je reviens" éventuellement précédée de "merci" aurait été sympathique et permet aux contributeurs que nous sommes de constater que nous n'écrivons pas dans le vide (je fais bien entendu allusion à l'autre discussion intitulée Compléter des références).
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/08/2006, 17h44
  2. Réponses: 3
    Dernier message: 27/06/2005, 16h24
  3. [D6] Comment remplacer des chaînes dans un fichier ?
    Par fabien25 dans le forum Langage
    Réponses: 4
    Dernier message: 15/06/2005, 13h37
  4. Réponses: 5
    Dernier message: 30/05/2005, 16h58
  5. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 08h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo