Autoriser les préfixes et les suffixes dans Rechercher et remplacer (Microsoft Excel)
Steven a une feuille de travail qui contient un certain nombre de références, telles que DCC2418R. Il aimerait changer tous les préfixes (toujours «DCC») en «RR» et tous les suffixes (toujours «R») en «F». Ainsi, après la recherche et le remplacement, DCC2418R deviendrait RR2418F. Steven sait qu’il peut effectuer plusieurs opérations de recherche et de remplacement pour effectuer la conversion. Il soupçonne qu’il existe un moyen de le faire en une seule passe de recherche et de remplacement, mais il ne sait pas comment s’y prendre.
Votre soupçon est incorrect, Steven – il n’y a aucun moyen de le faire en une seule passe. Contrairement à Word (où cela pourrait être fait en un seul passage), Excel n’inclut pas la possibilité d’effectuer des recherches par caractères génériques. Cela ne veut pas dire que vous n’avez pas de chance. Il existe en fait plusieurs façons d’accomplir la tâche que vous devez effectuer.
Le moyen le plus simple est peut-être d’utiliser l’outil Remplissage Flash. Supposons que vos références se trouvent dans la colonne A, en commençant par A1. Dans la cellule B1, entrez le numéro de pièce correctement formaté. Dans la cellule B2, commencez à taper le prochain numéro de pièce correctement formaté. Flash Fill devrait entrer en jeu. (Voir la figure 1.)
Figure 1. Flash Fill commence son travail.
Notez les entrées légèrement ombrées proposées par Excel. C’est le résultat de la fonction Flash Fill. À ce stade, tout ce que vous avez à faire est d’appuyer sur Entrée et vous aurez vos numéros de pièce correctement formatés. Si, pour une raison quelconque, Flash Fill n’offre pas les transformations automatiquement, après avoir entré le numéro de pièce corrigé dans la cellule B2, sélectionnez la plage de B1 jusqu’à la dernière cellule de la colonne B. (Par exemple, sélectionnez la plage B1 : B227.) Appuyez ensuite sur Ctrl + E, et le remplissage Flash devrait terminer toutes les cellules vides de la plage que vous avez sélectionnée.
Bien entendu, Flash Fill n’est pas disponible dans toutes les versions d’Excel; il a été introduit pour la première fois dans Excel 2013. Si le remplissage Flash n’est pas disponible, vous pouvez utiliser une formule pour effectuer les conversions. Ce qui suit, dans la cellule B1, donnera le numéro de pièce correctement transformé de tout ce qui se trouve dans la cellule A1:
=SUBSTITUTE(SUBSTITUTE(A1,"R","F",1),"DCC","RR",1)
La formule suivante fonctionnera également dans la cellule B1:
="RR" & MID(A1,4,LEN(A1)-4) & "F"
Si vous préférez une approche macro, vous pouvez en créer une qui examine une cellule et effectue la modification si les conditions de préfixe et de suffixe sont remplies.
L’exemple suivant, ReplacePartNum, effectue son travail sur une plage nommée appelée «MyRange». (En d’autres termes, vous devez définir une plage nommée appelée « MyRange » avant d’exécuter la macro. La plage nommée doit contenir toutes les cellules que vous souhaitez examiner et convertir.)
Sub ReplacePartNum() Dim myRange As Range Dim c As Range Dim origText As String Dim firstBit As String Dim endBit As String Dim middleBit As String Set myRange = Range("MyRange") For Each c In myRange origText = c.Text firstBit = Left (origText, 3) endBit = Right (origText, 1) If firstBit = "DCC" And endBit = "R" Then middleBit = Mid (origText, 4, Len(origText) - 4) c.Value = "RR" & middleBit & "F" End If Next End Sub
Vous devez savoir que vous pouvez, si vous le souhaitez, utiliser des caractères génériques dans vos macros. Une explication plus approfondie de la façon d’utiliser des jokers dans les macros, link: / excelribbon-Wildcards_in_Replace_With_Text [peut être trouvée dans cette astuce]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13479) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.