Split("-")

abderrahim1234 Messages postés 6 Statut Membre -  
abderrahim1234 Messages postés 6 Statut Membre -
Bonjour,

voici mon problème,
J'aimerai de faire l'extraction des données.
voici ce que ce je veux:

5 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    Essaies :
    Option Explicit
    Sub Test()
    Dim r As Range
    Dim i As Long
    Dim v As Variant
    Dim t As Variant
    Dim n As Integer
      'Plage de cellules à traiter
      Set r = Worksheets("Feuil1").Range("A1").CurrentRegion  'Adapter le nom de la feuille
      'Analyser chaque ligne en partant de la fin
      For i = r.Rows.Count To 2 Step -1
        'Valeur à tester
        v = r.Cells(i, 4).Value
        'tableau des références
        t = Split(v, "-")
        'nombre de lignes à ajouter
        n = UBound(t)
        'copier/insérer les lignes nécessaires
        Do While n > 0
          r.Rows(i).Copy
          r.Rows(i).Insert Shift:=xlDown
          n = n - 1
        Loop
        Application.CutCopyMode = False
        'Mettre en place les références
        If UBound(t) > 0 Then
          r.Cells(i, 4).Resize(UBound(t) + 1).Value = Application.Transpose(t)
        End If
      Next i
    End Sub


    1
    1. abderrahim1234 Messages postés 6 Statut Membre
       
      merci Patrice
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Qu'as tu commencé à faire ?
    - Sais tu faire des boucles en VBA ?
    - Sais tu lire et écrire dans des cellules en VBA ?

    La fonction split retourne un array ...
    Il suffit donc de boucler dessus pour générer autant de lignes qu'il y a de valeurs dans ton array.

    0
    1. Momen
       
      Bonjour.

      Non je sais pas comment faire vous pouvez m'aidez svp
      0
  3. abderrahim1234 Messages postés 6 Statut Membre
     
    bonjour,
    merci pour votre aide
    j'essayer de faire ce code ma ça marche pas
    Sub Macro4()
    Dim txt As String
    Dim b As Long
    Dim var() As String
    For i = 1 To 100
    txt = Cells(i, 4).Value
    If Len(txt) > 7 Then
    var = Split(txt, "-", vbTextCompare)
    End If
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Next i
    End Sub
    0
  4. abderrahim1234 Messages postés 6 Statut Membre
     
    bonjour petit aide svp
    ça fonctionne pas

    Dim Tableau() As String
    Dim i As Integer
    Dim txt As String
    For j = 2 To 100
    txt = Cells(j, 4).Value
    If Len(txt) > 7 Then

    Tableau = Split(txt, "-")
    For i = 1 To UBound(Tableau)
    Debug.Print Tableau(i)
    Cells(i + 1, 4).Value = Tableau(i)
    Next i
    End If
    Next j

    ce que je veux
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      merci d'utiliser les balises de code.
      "ça fonctionne pas": qu'observes-tu?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. abderrahim1234 Messages postés 6 Statut Membre
     
    merci yg_be
    je sais pas comment ça fonctionne les balises de code
    mais je pense on utilise split avec les boucles
    0