Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment trouver et remplacer du texte puis conserver la mise en forme dans Excel?

doc trouver remplacer conserver le format 1
doc trouver remplacer conserver le format 2
La fonction Rechercher et remplacer est puissante et utile lorsque nous devons trouver une valeur spécifique et la remplacer par une autre. Mais s'il existe une plage de cellules et que certaines des cellules incluent des valeurs de mise en forme différentes. Dans ce cas, rechercher et remplacer une valeur par la fonction Rechercher et remplacer interrompra la mise en forme des valeurs dans les cellules, comme illustré ci-dessous, comment pouvons-nous préserver la mise en forme des valeurs dans chaque cellule lors de la recherche et du remplacement dans Excel?

Rechercher et remplacer conserver la mise en forme avec le code de macro

flèche bleue bulle droite Rechercher et remplacer conserver la mise en forme avec le code de macro

Il n'y a pas d'autres méthodes, mais le code de macro peut vous aider à rechercher et à remplacer du texte et à préserver la mise en forme.

1. presse Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour Application fenêtre.

2. Cliquez insérer > Moduleet collez le code ci-dessous dans le script.

VBA: rechercher et remplacer préserver la mise en forme

Sub CharactersReplace(Rng As Range, FindText As String, ReplaceText As String, Optional MatchCase As Boolean = False)
  'UpdatebyExtendoffice20160711
    Dim I As Long
    Dim xLenFind As Long
    Dim xLenRep As Long
    Dim K As Long
    Dim xValue As String
    Dim M As Long
    Dim xCell As Range
    xLenFind = Len(FindText)
    xLenRep = Len(ReplaceText)
    If Not MatchCase Then M = 1
    For Each xCell In Rng
        If VarType(xCell) = vbString Then
            xValue = xCell.Value
            K = 0
            For I = 1 To Len(xValue)
              If StrComp(Mid$(xValue, I, xLenFind), FindText, M) = 0 Then
                xCell.Characters(I + K, xLenFind).Insert ReplaceText
                K = K + xLenRep - xLenFind
              End If
            Next
        End If
    Next
End Sub

Sub Test_CharactersReplace()
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Call CharactersReplace(xRg, "KK", "Kutools", True)
End Sub

 

doc trouver remplacer conserver le format 5

3. presse F5 clé, une boîte de dialogue apparaît pour vous permettre de sélectionner une plage à rechercher et à remplacer, voir capture d'écran:
doc trouver remplacer conserver le format 6

4. Cliquez sur OK et la chaîne spécifique dans la cellule sélectionnée est remplacée par autre et conserve la mise en forme.
doc trouver remplacer conserver le format 4

Trucs: Dans le code,  KK est la chaîne que vous voulez trouver, et Kutools est la chaîne par laquelle vous souhaitez remplacer, vous pouvez les modifier selon vos besoins.


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ben · 1 years ago
    Can you clarify if there is a solution that works in cells with more than 255 characters, or is this a limitation of Excel? Does your add-in support cells with more than 255 characters that contain formatting?
  • To post as a guest, your comment is unpublished.
    Marc · 1 years ago
    Same Question as John Birk i need a workaround with Cells that have more then 255 signs.
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      The method only work while characters less than 255 digits.
  • To post as a guest, your comment is unpublished.
    brodie · 1 years ago
    I am getting syntax error in VBA

  • To post as a guest, your comment is unpublished.
    John Birk · 1 years ago
    I tried your solution on a cell that is over 255 characters long and nothing changes. Is there a workaround for this case?