Remplacer la valeur d'une cellule si elle contient dans une formule

Bonjour

J'ai besoin de remplacer une formule automatiquement dans des classeurs excel.

J'ai rédigé ce code mais je planche sur le fait que si la cellule contient "get_cumul" alors je remplace le contenue de cette cellule par "coucou".

Merci a ceux qui pourront m'aider.

Sub TESTE()

Application.ScreenUpdating = False

Dim Col As Range
Dim Cel As Range

     Set Col = Range("E1:E5000")
        For Each Cel In Col
            If Cel.Like Like "*Get_Cumul*" Then
            Cel.Value = "coucou"
            End If
        Next
     Exit Sub

End Sub

Dans la colonne E, il faut écrire "coucou" à la place des cellules qui contiennent ma formule "get_cumul", c'est du lien OLE à la base.

40exo-christrucci.xlsx (362.15 Ko)

Bonjour,

À placer dans le module de la feuille concernée...

À tester si ça convient...

Sub TESTE()
Dim Col As Range
Dim Cel As Range
Dim Test As Boolean

   Application.ScreenUpdating = False

   Set Col = Range("E8:E" & (Range("E" & Rows.Count).End(xlUp).Row))
   For Each Cel In Col
      Test = Cel.Formula Like "*Get_Cumul*"
      If Test = True Then Cel.Value = "coucou"
   Next
End Sub

Ou ... À placer dans un module standard ...

Sub TESTE()
Dim Col As Range
Dim Cel As Range
Dim Test As Boolean

   Application.ScreenUpdating = False

   With Worksheets("B")
      Set Col = .Range("E8:E" & (.Range("E" & Rows.Count).End(xlUp).Row))
      For Each Cel In Col
         Test = Cel.Formula Like "*Get_Cumul*"
         If Test = True Then Cel.Value = "coucou"
      Next
   End With
End Sub

ric

Super !!!

le premier code marche nickel !

Je viens de découvrir un problème maintenant

Penses-tu que l'on peut adapter ton code pour que lorsqu'il remplace dans la colonne E par "COUCOU" il remplace également dans la colonne F par ce qu'il y a dans la colonne G ? (en l'état c'est une formule somme toute bête, mais je ne peux pas la recréer manuellement car je ne connais pas la place de données à l'avance.

Aussi quand le code tombe sur une ligne avec un Get_Cumul dans la colonne E, il va le remplacer par "coucou" sur cette même colonne, et sur la même ligne, il va copier ce qu'il y a dans la colonne G sur la colonne F.

Merci par avance

En tout cas tu m'as bien aidé

Rebonjour,

Toujours dans un module standard...

Si j'ai bien compris la demande ...

Sub TESTE()
Dim Col As Range
Dim Cel As Range
Dim Test As Boolean

   Application.ScreenUpdating = False

   With Worksheets("B")
      Set Col = .Range("E8:E" & (.Range("E" & Rows.Count).End(xlUp).Row))
      For Each Cel In Col
         Test = Cel.Formula Like "*Get_Cumul*"
         If Test = True Then
            Cel.Value = "coucou"
            Cel.Offset(0, 1) = Cel.Offset(0, 2).Formula
         End If
      Next
   End With
End Sub

ric

Rechercher des sujets similaires à "remplacer valeur contient formule"