je suppose que ton idée est la bonne mais je n'arrive pas a l'intégrer a ma macro alors je vais mieux la définir
J'ai dans la colonne E de ma feuille 1 des cellules sur 1 ligne, 2 lignes ou 3 lignes
Toutes les cellules de la colonne E de la feuil1 sont copiés vers la colonne D de ma feuil3
A partir de là, je voudrais diviser les cellules de la colonne D ligne par ligne
Ex : si en D3 j'ai 1 cellule de 3 lignes je veux que la troisieme ligne se situe en F3, la 2nde en E3 et la premiere en D3
Ensuite je pourrais les mettre dans la meme colonne les trier et supprimer les doublons afin d'alimenter ma combobox
Le bout du code donne :
Sheets("Feuil3" ).Select
Range("D1", Range("D1" ).End(xlDown)).Select
Selection.ClearContents
'Effacer le contenu des cellules de la feuil3 de la colonne D
Sheets("Feuil1" ).Select
Range("E3", Range("E65536" ).End(xlUp)).Select
Selection.Copy
'Copier le contenu des cellules de la colonne E de la feuil 1
Sheets("Feuil3" ).Select
Range("D1" ).Select
ActiveSheet.Paste
'Coller le contenu des cellules dans la colonne D de la feuil3
...ici manque le fait de pouvoir diviser les cellules...
Sheets("Feuil3" ).Select
Range("E1", Range("E65536" ).End(xlUp)).Select
Selection.Copy
'Copier le contenu des cellules de la colonne E de la feuil 3
Sheets("Feuil3" ).Select
Range("D1" ).End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
'Coller le contenu des cellules dans la colonne D de la feuil3
Sheets("Feuil3" ).Select
Range("F1", Range("F65536" ).End(xlUp)).Select
Selection.Copy
'Copier le contenu des cellules de la colonne F de la feuil 3
Sheets("Feuil3" ).Select
Range("D1" ).End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
'Coller le contenu des cellules dans la colonne D de la feuil3
Selection.Sort Key1:=Range("D1" ), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Tri croissant des cellules de la colonne D
ancienne_valeur = ""
For i = 1 To Selection.Rows.Count
nouvelle_valeur = Cells(i, 4).Value
If nouvelle_valeur = ancienne_valeur Then
Cells(i, 4).Value = ""
End If
ancienne_valeur = nouvelle_valeur
Next
'Boucle permettant de supprimer les doublons de la colonne D
Range([D1], [D65536].End(xlUp)).SpecialCells(xlCellTypeBlanks).Delete
'Suppression des cellules vides de la colonne D
UserForm2.ComboBox1.RowSource = "D1:D" + CStr(Sheets("Feuil3" ).Cells(Rows.Count, 4).End(xlUp).Row)
'Définition des valeurs de la combobox1 par les valeurs de la colonne D
Vous voyez bien qu'il manque un tout petit bout du code mais la solution réside en vous...
Merci. A bientot.
a+