Ajouter une ligne excel si caractère trouvé

  • Initiateur de la discussion Initiateur de la discussion MGLL76
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

MGLL76

Guest
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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Z
Réponses
3
Affichages
527
Z
C
Réponses
5
Affichages
3 K
E
Réponses
1
Affichages
1 K
Elegancya
E
Retour