Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Detriplement (Dedoublement mais 3 fois) d'une liste

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

P

polparis

Guest
Bonjour a tous,
J'ai une question a priori toute simple, mais que je ne vois pas comment faire avec des fonctions.
J'ai une liste ABCD... je veux la transformer en AAABBBCCCDDD (voir feuille d'exemple jointe).
Pour l'exemple j'ai tout fait a la main, mais dans mon application reelle, ma liste est trop longue pour que ce soit raisonnablement faisable.
Je ne maitrise pas encore trop les macros donc si il y a une solution avec des formules je suis preneur, sinon si ya pas le choix, je serai deja tres heureux de pouvoir "detripler" ma liste.
Merci d'avance,

Paul
 

Pièces jointes

Re : Detriplement (Dedoublement mais 3 fois) d'une liste

Bonsoir polparis,

Pour le fun, avec une formule. Mettre la formule suivante en E1 puis tirer la formule jusqu'à voir apparaître des cellules vides.
Copier la colonne E et faire un coller spécial par valeur sur elle-même.

Code:
=SI(LIGNE()<=3*NBVAL($A$1:$A$8);INDEX($A$1:$A$8;1+(LIGNE()-1)/3);"")
 

Pièces jointes

Re : Detriplement (Dedoublement mais 3 fois) d'une liste

Bonsoir

Avec une macro :

Code:
Sub Duplique()
Dim i As Integer, j As Integer, Lg As Integer
Range("E:E").ClearContents
 Lg = 1
    For i = 1 To Range("A65536").End(xlUp).Row
        For j = 1 To 3 'Copie 3 fois chaque mot
            Cells(i, 1).Copy Range("E" & Lg)
 Lg = Lg + 1
        Next j
    Next i
End Sub

Cordialement
Chris
 

Pièces jointes

Re : Detriplement (Dedoublement mais 3 fois) d'une liste

(re),

En VBA:
VB:
Sub Tripler()
Dim Tablo, res(), i&, j&
  With Sheets("Hoja1")
    .Range("E:E").ClearContents
    Tablo = .Range(.Range("a1"), .Range("a" & Rows.Count).End(xlUp)).Value
    ReDim res(1 To 3 * UBound(Tablo))
    For i = 1 To UBound(Tablo)
      For j = 1 + 3 * (i - 1) To 3 * i
        res(j) = Tablo(i, 1)
      Next j
    Next i
    .Range("e1").Resize(3 * UBound(Tablo)).Value = Application.Transpose(res)
  End With
End Sub
 

Pièces jointes

Re : Detriplement (Dedoublement mais 3 fois) d'une liste

Wow, ca c'est de la rapidite😉
Merci a vous tous pour vos diverses solutions, je vais utiliser la version avec formule dans límmediat mais je garde le vba pour apprendre petit a petit.
Bonne soiree a tous et encore un grand merci!
 
- 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

R
Réponses
10
Affichages
2 K
K
Réponses
0
Affichages
729
K
  • Question Question
Microsoft 365 Liste cascade
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…