Espace à insérer dans un texte d'une cellule

Bonjour,
J'ai un texte dans une cellule du genre 8a7m4a2m .Quelle fonction via VisualBasic me permettrait d'arriver à ceci. 8a 7m 4a 2m (le nbre de paires chiffre-lettre n'est pas constant ds la cellule).Merci d'avance

2 réponses

  1. Contributeur
    Salut le forum

    Tu sélectionnes la cellule à convertir et tu lances la macro.

    Sub Insert_Space() 
        Dim i As Integer 
        Dim Cible As String 
         
    With Selection 
        Cible = .Value 
         
        For i = Len(Cible) To 2 Step -1 
            If IsNumeric(Mid(Cible, i, 1)) Then 
            Cible = Left(Cible, i - 1) & " " & Right(Cible, Len(Cible) - i + 1) 
            End If 
        Next i 
         
        .Value = Cible 
    End With 
    
    End Sub 
    


    Mytå
    Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
    0
    1. Contributeur
      bonjour

      Je ne connais pas de fonction VBA qui fournisse ton résultat mais je te propose une fonction personnalisée à mettre dans une autre colonne, avec copie du résultat en valeur éventuellement sur la colonne de base.

      Public Function format_cellule(cellule)
      Dim c As Integer
      Application.Volatile
      format_cellule = ""
      cellule = Replace(cellule, " ", "")
      For c = 1 To Len(cellule) Step 2
      format_cellule = format_cellule & Mid(cellule, c, 2) & " "
      Next c
      format_cellule = RTrim(format_cellule)
      End Function

      Sur la feuille, tu mets =format_cellule(A1) par exemple pour l'appeler.
      0