Bonjour Í tous,
J'aimerais formater de façon automatique, une saisie de texte dans une cellule, de telle manière que lorsque je tape "1-2", le texte dans la cellule se changera en "F1-F2", avec 1 et 2 en indice.
Merci d'avance.
Bonjour Í tous,
J'aimerais formater de façon automatique, une saisie de texte dans une cellule, de telle manière que lorsque je tape "1-2", le texte dans la cellule se changera en "F1-F2", avec 1 et 2 en indice.
Merci d'avance.
Bonjour Í tous,
J'aimerais formater de façon automatique, une saisie de texte dans une cellule, de telle manière que lorsque je tape "1-2", le texte dans la cellule se changera en "F1-F2", avec 1 et 2 en indice.
Merci d'avance.
Bonjour MichD,
J'ai exécuté le code et ça me donne un chiffre (43862)
Le 1-2 était un exemple. Il pourra être n'importe quel chiffre (1-2, 3-4, 5-6, 7-8, 9-10, ...23-24)
Bonjour MichD,
J'ai exécuté le code et ça me donne un chiffre (43862)
Le 1-2 était un exemple. Il pourra être n'importe quel chiffre (1-2, 3-4, 5-6, 7-8, 9-10, ...23-24)
Bonjour MichD,
J'ai exécuté le code et ça me donne un chiffre (43862)
Le 1-2 était un exemple. Il pourra être n'importe quel chiffre (1-2, 3-4, 5-6, 7-8, 9-10, ...23-24)
J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
.NumberFormat = "@"
x = .Value
y = Split(x, "-")
If IsNumeric(y) Then ' Si le tableau résultant est numérique
.Value = "F" & y(0) & "-F" & y(1)
.Characters(2, 1).Font.Subscript = True
.Characters(5, 1).Font.Subscript = True
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
If IsNumeric(y) Then ' Si le tableau résultant est numérique
J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
.NumberFormat = "@"
x = .Value
y = Split(x, "-")
If IsNumeric(y) Then ' Si le tableau résultant est numérique
.Value = "F" & y(0) & "-F" & y(1)
.Characters(2, 1).Font.Subscript = True
.Characters(5, 1).Font.Subscript = True
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
If IsNumeric(y) Then ' Si le tableau résultant est numérique
J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
With C
.NumberFormat = "@"
x = .Value
y = Split(x, "-")
If IsNumeric(y) Then ' Si le tableau résultant est numérique
.Value = "F" & y(0) & "-F" & y(1)
.Characters(2, 1).Font.Subscript = True
.Characters(5, 1).Font.Subscript = True
End If
End With
Next
Application.EnableEvents = True
End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
If IsNumeric(y) Then ' Si le tableau résultant est numérique
Le 16/11/20 Í 16:46, Apitos a écrit :J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rg As Range, C As Range
    Set Rg = Intersect(Range("A1:A10"), Target)
    If Not Rg Is Nothing Then
        Application.EnableEvents = False
        For Each C In Rg
            With C
                .NumberFormat = "@"
                x = .Value
                y = Split(x, "-")
                If IsNumeric(y) Then ' Si le tableau résultant est
numérique
                    .Value = "F" & y(0) & "-F" & y(1)
                    .Characters(2, 1).Font.Subscript = True
                    .Characters(5, 1).Font.Subscript = True
                End If
            End With
        Next
        Application.EnableEvents = True
    End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
 If IsNumeric(y) Then ' Si le tableau résultant est numérique
Je réponds Í ce que tu demandes, pas Í ce que tu as en tête.
essaie ceci :
'--------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As Variant
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
   Application.EnableEvents = False
   For Each C In Rg
       With C
           .NumberFormat = "@"
           X = Split(.Value, "-")
           If .Value Like "[0-9]-[0-9]" Or _
               .Value Like "[0-9]-[0-9][0-9]" Then
                   .Value = "F" & 2 & "-F" & Right(X(1), Len(X(1)))
                   .Characters(2, Len(X(0))).Font.Superscript = True
                   .Characters(5, Len(X(1))).Font.Superscript = True
           End If
           If .Value Like "[0-9][0-9]-[0-9]" Or _
                .Value Like "[0-9][0-9]-[0-9][0-9]" Then
                .Value = "F" & Left(X(0), Len(X(0))) & "-F" &
Right(X(1), Len(X(1)))
               .Characters(2, Len(X(0))).Font.Superscript = True
               .Characters(6, Len(X(1))).Font.Superscript = True
          End If
       End With
   Next
   Application.EnableEvents = True
End If
End Sub
'--------------------------------------
MichD
Le 16/11/20 Í 16:46, Apitos a écrit :
J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rg As Range, C As Range
    Set Rg = Intersect(Range("A1:A10"), Target)
    If Not Rg Is Nothing Then
        Application.EnableEvents = False
        For Each C In Rg
            With C
                .NumberFormat = "@"
                x = .Value
                y = Split(x, "-")
                If IsNumeric(y) Then ' Si le tableau résultant est
numérique
                    .Value = "F" & y(0) & "-F" & y(1)
                    .Characters(2, 1).Font.Subscript = True
                    .Characters(5, 1).Font.Subscript = True
                End If
            End With
        Next
        Application.EnableEvents = True
    End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
 If IsNumeric(y) Then ' Si le tableau résultant est numérique
Je réponds Í ce que tu demandes, pas Í ce que tu as en tête.
essaie ceci :
'--------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As Variant
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
   Application.EnableEvents = False
   For Each C In Rg
       With C
           .NumberFormat = "@"
           X = Split(.Value, "-")
           If .Value Like "[0-9]-[0-9]" Or _
               .Value Like "[0-9]-[0-9][0-9]" Then
                   .Value = "F" & 2 & "-F" & Right(X(1), Len(X(1)))
                   .Characters(2, Len(X(0))).Font.Superscript = True
                   .Characters(5, Len(X(1))).Font.Superscript = True
           End If
           If .Value Like "[0-9][0-9]-[0-9]" Or _
                .Value Like "[0-9][0-9]-[0-9][0-9]" Then
                .Value = "F" & Left(X(0), Len(X(0))) & "-F" &
Right(X(1), Len(X(1)))
               .Characters(2, Len(X(0))).Font.Superscript = True
               .Characters(6, Len(X(1))).Font.Superscript = True
          End If
       End With
   Next
   Application.EnableEvents = True
End If
End Sub
'--------------------------------------
MichD
Le 16/11/20 Í 16:46, Apitos a écrit :J'ai essayé d'adapter le code, comme ceci :
'-------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rg As Range, C As Range
    Set Rg = Intersect(Range("A1:A10"), Target)
    If Not Rg Is Nothing Then
        Application.EnableEvents = False
        For Each C In Rg
            With C
                .NumberFormat = "@"
                x = .Value
                y = Split(x, "-")
                If IsNumeric(y) Then ' Si le tableau résultant est
numérique
                    .Value = "F" & y(0) & "-F" & y(1)
                    .Characters(2, 1).Font.Subscript = True
                    .Characters(5, 1).Font.Subscript = True
                End If
            End With
        Next
        Application.EnableEvents = True
    End If
End Sub
Parce que le test
If .Value Like "[0-9]-[0-9]" Then
ne prend pas en charge les chiffres Í deux nombres.
mais, ma modification, n'a pas marché sur le test :
 If IsNumeric(y) Then ' Si le tableau résultant est numérique
Je réponds Í ce que tu demandes, pas Í ce que tu as en tête.
essaie ceci :
'--------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range, X As Variant
Set Rg = Intersect(Range("A1:A10"), Target)
If Not Rg Is Nothing Then
   Application.EnableEvents = False
   For Each C In Rg
       With C
           .NumberFormat = "@"
           X = Split(.Value, "-")
           If .Value Like "[0-9]-[0-9]" Or _
               .Value Like "[0-9]-[0-9][0-9]" Then
                   .Value = "F" & 2 & "-F" & Right(X(1), Len(X(1)))
                   .Characters(2, Len(X(0))).Font.Superscript = True
                   .Characters(5, Len(X(1))).Font.Superscript = True
           End If
           If .Value Like "[0-9][0-9]-[0-9]" Or _
                .Value Like "[0-9][0-9]-[0-9][0-9]" Then
                .Value = "F" & Left(X(0), Len(X(0))) & "-F" &
Right(X(1), Len(X(1)))
               .Characters(2, Len(X(0))).Font.Superscript = True
               .Characters(6, Len(X(1))).Font.Superscript = True
          End If
       End With
   Next
   Application.EnableEvents = True
End If
End Sub
'--------------------------------------
MichD
Merci MichD.
Mais pourquoi la macro semble désactivée, comme illustrée dans l'image suivante :
Merci MichD.
Mais pourquoi la macro semble désactivée, comme illustrée dans l'image suivante :
Merci MichD.
Mais pourquoi la macro semble désactivée, comme illustrée dans l'image suivante :