Demande d'aide sur excel

Résolu
Bonjour,
j'aimerais bien avoir votre aide concernant un petit problème sur EXCEL.
j'ai une colonne sur mon tableau qui contient des chiffre séparés par des " - " ( colonnes séparées nom, num, description ) exp:
----------------------------------------------------
nom numéro description

sarah 12-54-001 azzerzaar
ali 687_00 fafaakgkm
---------------------------------------------------

et j'aimerais le transformer sous la forme:
----------------------------------------------------
nom numéro description

sarah 12 azzerzaar
sarah 54 azzerzaar
sarah 001 azzerzaar

ali 687 fafaakgkm
ali 00 fafaakgkm
----------------------------------------------------

merci d'avance :D
Configuration: Windows XP
Safari 532.0

2 réponses

  1. merci énormement gbinforme, tu m'a sauvé la vie !!!

    merci encore une fois t'es toujours Zen
    0
    1. Contributeur
      bonjour

      Pour créer de nouvelles lignes tu dois passer par une macro et je te propose ceci à coller dans ta feuille concernée (mode d'emploi éventuel) :
      Public Sub degroupe()
      Dim lig As Long
      Application.ScreenUpdating = False
      For lig = Cells(Columns(1).Cells.Count, 1).End(xlUp).Row To 1 Step -1
          Cells(lig, 2).Value = Replace(Cells(lig, 2).Value, "-", "|")
          Cells(lig, 2).Value = Replace(Cells(lig, 2).Value, "_", "|")
          While cre_ligne(lig)
          Wend
      Next lig
      End Sub
      
      Public Function cre_ligne(lig)
      Dim pos As Integer, der As Integer
      Const sep As String = "|"
      cre_ligne = False
      pos = 0
          Do
              der = pos
              pos = InStr(der + 1, Cells(lig, 2).Value, sep)
          Loop Until pos = 0
          If der <> 0 Then
              Rows(lig + 1).Insert
              Cells(lig + 1, 1).Value = Cells(lig, 1).Value
              Cells(lig + 1, 2).Value = "'" & Mid(Cells(lig, 2).Value, der + 1)
              Cells(lig, 2).Value = "'" & Left(Cells(lig, 2).Value, der - 1)
              Cells(lig + 1, 3).Value = Cells(lig, 3).Value
              cre_ligne = True
          End If
      End Function
      

      Ensuite tu dois autoriser les macros et lancer (alt + F8) la macro "degroupe".
      0