Forum Clubic

Aide VBA Excel. Fractionner certaines cellules en lignes sur plusieurs colonnes distinctes

Bonjour,

Je suis un grand débutant en VBA. Je cherche à fractionner certaines cellules d’un tableau par VBA en créant des lignes à partir de données séparées par des virgules, seulement pour certaines cellules.

Ex: ("/" comme séparateur de colonnes) :

Données de base :

A / texte1, texte2, texte3 / autre texte, autre texte 2 / texte4, texte5 /

Résultat recherché :

A / texte1 / autre texte, autre texte 2 / texte4
A / texte2 / / texte 5
A / texte 3 / /

Exemple plus parlant avec fichier Excel : https://www.cjoint.com/c/JEmlkgPl5rp

J’ai trouvé une formule mais elle ne convient pas au fractionnement de plusieurs cellules à la fois sur la même ligne et ne tient pas en compte les différentes cellules à fractionner ou non.

Si elle peut toutefois servir de base :

Option Explicit

Public Sub SeparationEnLignes()
Dim feuilleSource As Worksheet
Dim feuilleCible As Worksheet
Dim iSource, iCible, i As Integer
Dim currentA, currentB As String
Dim currentSplit() As String

Set feuilleSource = Worksheets("Feuil1") 'A modifier, la feuille contenant les données originales
Set feuilleCible = Worksheets("Feuil2") 'A modifier, la feuille où l'on veut le résultat

'Initialisation des compteurs de lignes
iSource = 1
iCible = 1

Do While feuilleSource.Cells(iSource, "A").Value <> "" 'Tant qu'il y a qq chose en colonne A
    currentA = feuilleSource.Cells(iSource, "A").Value
    currentB = feuilleSource.Cells(iSource, "B").Value

    'On décompose la chaine par les virgules
    currentSplit = Split(currentB, ",")

    'Pour chaque élément, on l'écrit dans la feuille cible
    For i = 0 To UBound(currentSplit)
        feuilleCible.Cells(iCible, "A").Value = currentA
        feuilleCible.Cells(iCible, "B").Value = LTrim(currentSplit(i)) 'En enlevant les espaces à gauche
        iCible = iCible + 1
    Next i

    iSource = iSource + 1
Loop

End Sub

J’espère que quelqu’un saura m’aider !

Un grand merci d’avance même pour essayer !

Bien à vous

Quentin H

Est-ce que tu as une licence qui donne accès à PowerBI ? Ce genre de traitement de données me parait plus facile en power query. Power query est aussi disponible en Excel, d’ailleurs je crois.

Bonjour,

Malheureusement étant sur mac je n’ai pas accès à Power Query ou PowerBI…