Ajouter une ligne excel si caractère trouvé

MGLL76

XLDnaute Nouveau
Bonjour à tous et toutes...Voici ma problématique...Dans la colonne B de mon fichier Test, j'ai les numéros de contrat des clients (colonne A). Comme on peut voir dans mon fichier test, chaque numéro de contrat est séparé par le caractère ";". Ce que je souhaite faire, c'est, pour chaque client , déterminer le nombre de n° de contrat inscrit dans la cellule Excel. Ce nombre permettrait de définir combien de ligne je veux ajouter en dessous ce ce client. Ainsi , on obtiendrai le schéma suivant:
Ligne 1 Toto 030-11344
Ligne 2 Toto 030-11345
Ligne 3 Toto 030-11346
Ligne 4 tata
Ligne 5 tutu 068-9474

Merci d'avance a tous ceux/celles qui pourront m'aider a réaliser cette petite fonction.
 

Pièces jointes

  • Test.xlsx
    8.3 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonjour MGLL76,

Ceci n'est pas une "petite fonction" mais une procédure VBA :
Code:
Sub Eclater()
Dim sep$, tablo, resu(), i&, s, x, j%, n&
sep = ";"
With [A1].CurrentRegion.Resize(, 2)
    tablo = .Value
    ReDim resu(1 To Rows.Count, 1 To 2)
    For i = 1 To UBound(tablo)
        s = Split(tablo(i, 2), sep)
        x = tablo(i, 1)
        If UBound(s) = -1 Then n = n + 1: resu(n, 1) = x
        For j = 0 To UBound(s)
            n = n + 1
            resu(n, 1) = x
            resu(n, 2) = s(j)
    Next j, i
    .Resize(n) = resu
    .Resize(n).Borders.Weight = xlThin 'bordures
End With
End Sub
A+
 

Pièces jointes

  • Test(1).xlsm
    22 KB · Affichages: 11

Discussions similaires

Statistiques des forums

Discussions
312 080
Messages
2 085 144
Membres
102 793
dernier inscrit
volfy