Dans cette formule, mon objectif est que la macro change la colonne de référence. Je pensais donc faire un replace pour changer tous les !K par !c pour prendre la colonne C de la feuille Spoilage Après au lieu de la colonne K.
Sub chgmt_colonne() Range("C5").Formula = Replace(Range("C5").Formula, "!K", "!C") End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub essai() MsgBox Replace("Un exemple", "ex", "EX") End Sub
Public Function Replace(texte As String, a_remplacer As String, remplacer_par As String, Optional startpos, Optional combien, Optional Compare As VbCompareMethod) As String Dim pos As Integer, nb As Integer If IsMissing(startpos) Then startpos = 1 If IsMissing(combien) Then combien = 0 Do While InStr(startpos, texte, a_remplacer, Compare) nb = nb + 1 If combien > 0 And nb > combien Then MsgBox "ouille": Exit Do pos = InStr(startpos, texte, a_remplacer, Compare) texte = Mid(texte, 1, pos - 1) & remplacer_par & Mid(texte, pos + Len(a_remplacer)) startpos = pos + Len(a_remplacer) + 1 Loop Replace = texte End Function
Reste que si tu distribues ton projet sans savoir sur quelle machine, avec quelle version d'office, etc ..., il t'appartiendra de mettre dans ton code des expressions conditionnelles.