Je veux lancer une recherche et remplacer sur plusieurs valeurs dans une plage dans Excel avec les valeurs de 2 colonnes: A avec la chaîne d'origine; B avec la chaîne de remplacement. J'ai déjà trouvé une macro qui fonctionne un peu (merci nixda), mais je ne peux pas gérer les tirets entre certaines des valeurs les plus longues de la chaîne d'origine.
Idéalement, j'aimerais pouvoir l'utiliser uniquement sur la plage que j'ai sélectionnée. Un bonus supplémentaire serait si je pouvais également sélectionner la plage de recherche.
Vous trouverez ci-dessous des exemples de valeurs des colonnes de valeurs d'origine et de remplacement:
Colonne des valeurs d'origine:
T1-D7-F2-F3-
T1-D7-F2-F3-C33
U4 U5 Q2 Q4
U3-Q7.U1
R42-43-22-23-
Colonne Valeurs de remplacement:
T1,D7,F2,F3
T1,D7,F2,F3,C33
U4,U5,Q2,Q4
U3,Q7,U1
R42,R43,R22,R23
Mise à jour en réponse à la réponse de Gary's Student
Valeurs dans l'onglet "Données", colonne A:
1000PF CAP
4 SCREWS
D21 D22 - 709
D4-U3-RV3-Q2-U3
D7 - 00004224
D7 - 0004224
D7 - 004224
D7-F2-C33-F3-U6
D7-F3-J1
END PLATE
END PLATES
F2 F3 - 219
F2-F3-T1
Q11-Q3-J2-J9-
Q2 Q10 U12
Q2 Q3 Q10 Q11
Q2 Q3 Q11 Q10
Q2- Q4- U4- U5
Q2-Q5-Q8-Q10
Q3-Q11.R95
Q5-C10-C35
Q5-C19
Valeurs dans la balise "table", la colonne A sera identique à celle ci-dessus
Valeurs dans la balise "table", colonne B (valeurs de remplacement):
1000PF_CAP
4SCREWS
D21,D22,000709
D4,U3,RV3,Q2,U3
D7,004224
D7,004224
D7,004224
D7,F2,C33,F3,U6
D7,F3,J1
END_PLATE(S)
END_PLATE(S)
F2,F3,000219
F2,F3,T1
Q11,Q3,J2,J9
Q2,Q10,U12
Q2,Q3,Q10,Q11
Q2,Q3,Q11,Q10
Q2,Q4,U4,U5
Q2-Q5-Q8-Q10
Q3,Q11,R95
Q5,C10,C35
Q5,C19
Après avoir exécuté la macro, j'obtiens les résultats suivants au lieu de ce que j'attendais:
1000PF_CAP CAP
4SCREW(S)S
D21,D22 - 709
D4,U3,RV3-Q2-U3
D700004224
D70004224
D7004224
D7,F2-C33-F3-U6
D7,F3-J1
END_PLATE(S)
END_PLATE(S)S
F2,F3 - 219
F2,F3-T1
Q11-Q3-J2,J9-
Q2,Q10 U12
Q2 Q3 Q10,Q11
Q2,Q3,Q11 Q10
Q2,Q4- U4,U5
Q2-Q5Q8-Q10
Q3,Q11.R95
Q5C10,C35
Q5C19
Des idées?
modifier
Après avoir couru cette macro pour remplacer les valeurs, j'ai des problèmes avec les valeurs suivantes:
Colonne de gauche ci-dessous = Les colonnes de recherche A et B ont les mêmes valeurs (ne devraient pas changer, sauf que R 3 deviendrait R3).
Colonne droite ci-dessous = Résultat après l'exécution de la macro.
Q? Q?
Q1 Q?
Q2 Q?
Q3 Q?
Q4 Q?
Q5 Q?
Q6 Q?
Q7 Q?
Q8 Q?
Q9 Q?
QR? QR?
R 3 R?
R? R?
R0 R?
R1 R?
R2 R?
R3 R?
R4 R?
R5 R?
R6 R?
R7 R?
R8 R?
R9 R?
RE R?
RV R?
Réponses:
Voici un petit exemple de macro. La table de traduction se trouve dans un onglet appelé "tabl" et les données à modifier se trouvent dans un onglet appelé "données":
la source
Si vous installez le Addon RegEx Rechercher / Remplacer , vous pouvez utiliser les expressions régulières suivantes pour accomplir cela, et je l’ai testé. Ça marche.
la source
,$
et remplacer avec rien. Cela éliminera toutes les virgules pendantes.