F
Fabien
Guest
Bonjour
On m'a aidé à réaliser une macro
Le but est que dans la cellule F8, les trois derniers caractères soit écrit en exposant.
Mais la macro, au lieu de changer le texte de la cellule F8, me met le résultat dans la cellule ou je me trouve.
De plus je voudrais executer cette macro dans plusieurs cellules, qui sont
F8;F14;F20;F26;F32;F38;F44, Comment l'adapter
Ma Macro
Private Sub Worksheet_Activate()
With ActiveSheet
.EnableSelection = xlNoRestrictions
.Unprotect Password:="toto"
ActiveCell.FormulaR1C1 = Range("F8").Value
Mot = ActiveCell.Value
For I = 1 To Len(Mot)
If Mid(Mot, I, 1) <> Chr(32) Then
Else: tranche1 = Left(ActiveCell.Value, I)
GoTo suite
End If
Next I
suite:
With ActiveCell.Characters(Start:=I - 3, Length:=3).Font
.Superscript = True
End With
.EnableSelection = xlUnlockedCells
.Protect Password:="toto", Contents:=True, UserInterfaceOnly:=True, Scenarios:=True, DrawingObjects:=True
End With
End Sub
Merci
On m'a aidé à réaliser une macro
Le but est que dans la cellule F8, les trois derniers caractères soit écrit en exposant.
Mais la macro, au lieu de changer le texte de la cellule F8, me met le résultat dans la cellule ou je me trouve.
De plus je voudrais executer cette macro dans plusieurs cellules, qui sont
F8;F14;F20;F26;F32;F38;F44, Comment l'adapter
Ma Macro
Private Sub Worksheet_Activate()
With ActiveSheet
.EnableSelection = xlNoRestrictions
.Unprotect Password:="toto"
ActiveCell.FormulaR1C1 = Range("F8").Value
Mot = ActiveCell.Value
For I = 1 To Len(Mot)
If Mid(Mot, I, 1) <> Chr(32) Then
Else: tranche1 = Left(ActiveCell.Value, I)
GoTo suite
End If
Next I
suite:
With ActiveCell.Characters(Start:=I - 3, Length:=3).Font
.Superscript = True
End With
.EnableSelection = xlUnlockedCells
.Protect Password:="toto", Contents:=True, UserInterfaceOnly:=True, Scenarios:=True, DrawingObjects:=True
End With
End Sub
Merci