separer des valeurs d'une cellule sur plusieur lignes

  • Initiateur de la discussion Initiateur de la discussion jeremy23
  • 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 !

jeremy23

XLDnaute Nouveau
Bonjour,
alors voila ce que jouhaiterais faire, en gros c'est separer les valeurs qui se trouvent aprés une virgule ou un slash pour les recopier dans une ligne en dessous;
et comme une image est plus parlante:



Et le fichier ci joint
 

Pièces jointes

Re : separer des valeurs d'une cellule sur plusieur lignes

Bonjour jeremy23,

Voyez le fichier joint et cette macro (Alt+F11) :

Code:
Sub Resultat()
Dim tablo1, i&, s1, ub1%, s2, ub2%, s3, ub3%, s4, ub4%
Dim tablo2(), h&, j As Byte, col As Byte
tablo1 = Range("A3:F" & [A3].End(xlDown).Row)
For i = 1 To UBound(tablo1)
  s1 = Split(tablo1(i, 2), ", "): ub1 = UBound(s1)
  If ub1 >= 0 Then
    s2 = Split(tablo1(i, 4), "/"): ub2 = UBound(s2)
    s3 = Split(tablo1(i, 5), "/"): ub3 = UBound(s3)
    s4 = Split(tablo1(i, 6), "/"): ub4 = UBound(s4)
    ReDim Preserve tablo2(1 To 6, 1 To h + ub1 + 1) 'tableau transposé
    For j = 0 To ub1
      col = h + j + 1
      tablo2(1, col) = CDbl(tablo1(i, 1)) 'nombre de la date
      tablo2(2, col) = Application.Trim(s1(j)) 'fonction SUPPRESPACE
      tablo2(3, col) = tablo1(i, 3)
      If j <= ub2 Then tablo2(4, col) = s2(j)
      If j <= ub3 Then tablo2(5, col) = s3(j)
      If j <= ub4 Then tablo2(6, col) = s4(j)
    Next
    h = h + ub1 + 1
  End If
Next
'---résultat---
If h Then
  With Sheets("Résultat") 'ou ActiveSheet
    .[A3:F65536].ClearContents
    .[A3:F3].Resize(h) = Application.Transpose(tablo2)
    .Activate
  End With
End If
End Sub
C'est mieux d'utiliser la feuille Résultat pour tester.

Mais si l'on veut écraser la 1ère feuille, remplacer à la fin de la macro :

With Sheets("Résultat") par With ActiveSheet

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

Discussions similaires

  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
262
Réponses
0
Affichages
131
Retour