Comment utiliser la fonction REMPLACER d'excel en macro

Bonjour,

J'ai besoin d'utiliser la fonction REMPLACER en macro.

Par exemple, je souhaite remplacer une partie de plusieurs cellules de la ligne #1 par le contenue de la cellule A1 aussitôt que que j'écris dans la cellule A1

Par exemple, si j'écris en A1

Cellule A1 : 123456

Je souhaite remplacer une partie du contenu des autres cellules de la ligne 1 (cellules C1, D1, E1, F1 et G1); «NoContrat» remplacer par le contenu de A1 «123456» dans les formule suivante :

Cellule C1 : =@SI(ESTVIDE(B1);" ";INDEX('C:\Users\Utilisateur\Desktop\[NoContrat.xls]NoContrat'!$A$4:$Q$486;B1;2)) 

Cellule D1 : =@SI(ESTVIDE(B1);" ";INDEX('C:\Users\Utilisateur\Desktop\[NoContrat.xls]NoContrat'!$A$4:$Q$486;B1;3))

Cellule E1 : =@SI(ESTVIDE(B1);" ";INDEX('C:\Users\Utilisateur\Desktop\[NoContrat.xls]NoContrat'!$A$4:$Q$486;B1;4))

Cellule F1 : =@SI(ESTVIDE(B1);" ";INDEX('C:\Users\Utilisateur\Desktop\[NoContrat.xls]NoContrat'!$A$4:$Q$486;B1;5))

Cellule G1 : =@SI(ESTVIDE(B1);" ";INDEX('C:\Users\Utilisateur\Desktop\[NoContrat.xls]NoContrat'!$A$4:$Q$486;B1;6))

Ces cellules renvoient des données qui se trouvent dans un autre classeur excel.

Le classeur source change fréquemment et c'est pour cette raison que je souhaite une macro en exécution automatique dès que j'écris dans la colonne A.

Pouvez-vous m'aider svp ?

Merci à l'avance ! 

2 réponses

  1. Bonjour,

    J'ai trouvé ce code mais il analyse toutes les cellules de ma feuilles.   J'aimerais limiter la rechercher et le remplacement à la plage C1:G1... comment faire ?

    Sub FindandReplaceText()
    'Update by Extendoffice 2018/5/24
        Dim xFind As String
        Dim xRep As String
        Dim xRg As Range
        On Error Resume Next
        Set xRg = Cells
        xFind = Application.InputBox("word to search:", "Kutools for Excel", , , , , 2)
        xRep = Application.InputBox("word to replace:", "Kutools for Excel", , , , , 2)
        If xFind = "False" Or xRep = "False" Then Exit Sub
        xRg.Replace xFind, xRep, xlPart, xlByRows, False, False, False, False
    End Sub

    0
    1. Bonjour,

      Sub FindandReplaceText()
      'Update by Extendoffice 2018/5/24
          Dim xFind As String
          Dim xRep As String
          Dim xRg As Range
          On Error Resume Next
          Set xRg = Range("C1:G1")
          xFind = Application.InputBox("word to search:", "Kutools for Excel", , , , , 2)
          xRep = Application.InputBox("word to replace:", "Kutools for Excel", , , , , 2)
          If xFind = "False" Or xRep = "False" Then Exit Sub
          xRg.Replace xFind, xRep, xlPart, xlByRows, False, False, False, False
      End Sub
      
      0