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 !
Et je souhaiterais qu'il devienne comme cela
Reference-----------Taille-------------------Couleur
1-------------------S-----------------Noir
1-------------------S-----------------Blanc
1-------------------L-----------------Noir
1-------------------L-----------------Blanc
1-------------------XL-----------------Noir
1-------------------XL-----------------Blanc
J'ai bien pensé à une macro, mais mes compétences sont un peu juste...
Merci à tous
Edit : je joins le fichier pour que ce soit plus clair
Re : Dupliquer des lignes sous conditions multiples
Bonjour Vintz,
Non ce n'est pas parfait:
Trois articles présentent une anomalie et ne figurent pas dans la liste finale. Il s'agit des articles de réf égale à :102 (pas de couleur), 155 (pas de couleur-et taille égale à une couleur !!) et 216 (pas de couleur).
La liste finale ne reprend que les articles dont au moins une taille existe ET au moins une couleur existe.
Si tu désires inclure les articles dont soit la taille manque, soit la couleur manque, reprendre le code ci-dessous:
Code:
Sub Dispatcher()
Dim xSource As Range, Vals
Dim i, j, k, l, m, n
Application.ScreenUpdating = False
With Sheets("Feuil1")
Range("W:Y").ClearContents
Set xSource = .Cells(.Rows.Count, 1).End(xlUp)
If xSource.Row = 1 Then Exit Sub
Vals = .Range("A1").Resize(xSource.Row, 21).Value
.Cells(1, "w") = "Réf": .Cells(1, "x") = "Taille": .Cells(1, "y") = "Couleur"
m = 1
For i = 2 To xSource.Row
If Vals(i, 5) = "" Then Vals(i, 5) = "-" 'pour inclure les articles avec aucune taille
If Vals(i, 17) = "" Then Vals(i, 17) = "-" 'pour inclure les articles avec aucune couleur
For j = 5 To 13
If Vals(i, j) <> "" Then
For k = 17 To 21
If Vals(i, k) <> "" Then
m = m + 1
.Cells(m, "w") = Vals(i, 1)
.Cells(m, "x") = Vals(i, j)
.Cells(m, "y") = Vals(i, k)
End If
Next k
End If
Next j
Next i
End With
Application.ScreenUpdating = True
End Sub
On a rajouté ces deux lignes:
If Vals(i, 5) = "" Then Vals(i, 5) = "-" 'pour inclure les articles avec aucune taille
If Vals(i, 17) = "" Then Vals(i, 17) = "-" 'pour inclure les articles avec aucune couleur
On peut choisir quelles options prendre en incluant ou non la 1ière ou 2ième de ces deux lignes.
exclure de la liste finale les articles sans aucune taille:
effacer la ligne: If Vals(i, 5) = "" Then Vals(i, 5) = "-"
exclure de la liste finale les articles sans aucune couleur:
effacer la ligne: If Vals(i, 17) = "" Then Vals(i, 17) = "-"
exclure tous les article soit sans taille ou soit sans couleur
effacer la ligne: If Vals(i, 5) = "" Then Vals(i, 5) = "-" et
effacer la ligne: If Vals(i, 17) = "" Then Vals(i, 17) = "-"
inclure tous les articles avec ou sans taille, avec ou sans couleur
conserver les deux lignes:
If Vals(i, 5) = "" Then Vals(i, 5) = "-"
If Vals(i, 17) = "" Then Vals(i, 17) = "-"
- 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.