MAC - Replacer "m2" par "m²" dans chaines de caractères

Bonjour le forum,

J'ai plusieurs cellules (C7:C13) contenant des chaines de caractères.

Dans ces chaines de caractères, je cherche a remplacer "m2" par "m²" (le 2 en exposant).

Après quelques recherche sur le forum, j'ai trouvé ce bout de code:

Option Explicit

Sub Test()
  Dim c As Range, p As Byte
  For Each c In Application.Selection
    If c.Value <> "" Then
      c.Value = Replace$(c.Value, "m2", "m²")
      c.Value = Replace$(c.Value, "m3", "m³")
      p = InStr(UCase$(c.Value), "CO2")
      If p > 0 Then c.Characters(p + 2, 1).Font.Subscript = True
    End If
  Next c
End Sub

La methode "Replace" employée ci-dessus serait vraiment parfaite pour moi mais ne fonctionne pas sur MAC hélas...

Je précise que le fameux "m2" à remplacer n'est jamais situé au même endroit dans les chaines de caractères...

Il me faudrait quelque chose comme:

For Each c in Range(C7:C13)
   Replace(c.value, "m2", "m²")
Next c

mais qui fonctionne...

J'attends avec impatience vos retour.

Merci.

Bonjour iDev4s

Pour moi le code mis fait appel à une fonction, sinon il ne doit pas y avoir de "$" derrière Replace

Sub Test()
  Dim c As Range, p As Byte
  For Each c In Application.Selection
    If c.Value <> "" Then
      c.Value = Replace(c.Value, "m2", "m²")
      c.Value = Replace(c.Value, "m3", "m³")
      p = InStr(UCase(c.Value), "CO2")
      If p > 0 Then c.Characters(p + 2, 1).Font.Subscript = True
    End If
  Next c
End Sub

Bonjour BrunoM45,

oui effectivement pour le "$"...

Dans tous les cas, je ne parviens pas a taper exposant 2 dans l'editeur VBA...

J'ai essayé de sélectionner le "2" puis de faire le raccourci clavier: "cmd" + "shift" + "+", mais ne transforme pas en exposant...

Re,

Là, c'est un tout autre sujet... cela vient d'Apple

Aucun problème sur PC

image

Bon après des heures de recherches et tests, j'ai enfin trouvé...

Pour ceux qui sont intéressés:

Syntaxe sur MAC pour les m2:

Replace(c.Value, "m2", "m" & ChrW(178))

Syntaxe sur MAC pour les m3:

Replace(c.Value, "m3", "m" & ChrW(179))

Bonjour,

C'est que l'on devrait aussi faire sur PC...

Cela fonctionne d'ailleurs très bien

Pour ceux que cela intéresse la liste des codes Ascii c'est ici --> https://www.purebasic.com/french/documentation/reference/ascii.html

Cordialement

Rechercher des sujets similaires à "mac replacer chaines caracteres"