Duppliquer lignes dont une colonne a plusieurs codes produits
laurianegrange
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour les pros de la macro,
Je voudrais créer une macro qui vient copier les lignes qui comportent plusieurs numéros de codes produits en dupliquant les autres colonnes de la ligne comme suit :

- Les codes produits font toujours 7 caractères et sont séparés d’un espace
- Les codes doivent être ajoutés les un en dessous des autres : un code par ligne
- Toutes les autres colonnes doivent être copiées
- Le nombre de code produits par cellule varient entre 1 et 100
- La macro devrait fonctionner pour un grand nombre de ligne
Pour le moment ma macro ne marche pas, pourriez-vous m’aider à la faire fonctionner ?
Sub lignesCodesproduits ()
Dim h as string
Dim i as integer
For j = range(“A65536”)>End(x1up).Row to Step -1
Do while Len(cells(i,4)) > 8
For i = 1 to 100
Value.cells(i,4) = h
Rows(i).InsertShift=x1Down
Rows(i+1).CopyRows(i)
cells(i+1,4)=mid(cells(i,4),7,(len(cells(i,4))-7))
cells(i,4)=left(h(i,8))
i = i+1
Next
Loop
Next
End Sub ()
Merci mille fois :))))))))))
Je voudrais créer une macro qui vient copier les lignes qui comportent plusieurs numéros de codes produits en dupliquant les autres colonnes de la ligne comme suit :
- Les codes produits font toujours 7 caractères et sont séparés d’un espace
- Les codes doivent être ajoutés les un en dessous des autres : un code par ligne
- Toutes les autres colonnes doivent être copiées
- Le nombre de code produits par cellule varient entre 1 et 100
- La macro devrait fonctionner pour un grand nombre de ligne
Pour le moment ma macro ne marche pas, pourriez-vous m’aider à la faire fonctionner ?
Sub lignesCodesproduits ()
Dim h as string
Dim i as integer
For j = range(“A65536”)>End(x1up).Row to Step -1
Do while Len(cells(i,4)) > 8
For i = 1 to 100
Value.cells(i,4) = h
Rows(i).InsertShift=x1Down
Rows(i+1).CopyRows(i)
cells(i+1,4)=mid(cells(i,4),7,(len(cells(i,4))-7))
cells(i,4)=left(h(i,8))
i = i+1
Next
Loop
Next
End Sub ()
Merci mille fois :))))))))))
A voir également:
- Duppliquer lignes dont une colonne a plusieurs codes produits
- Déplacer une colonne excel - Guide
- Ryanair produits interdits en cabine - Guide
- Trier une colonne excel - Guide
- Les codes ascii - Guide
- Formule moyenne excel plusieurs colonnes - Guide
1 réponse
Bonjour,
La macro devrait fonctionner pour un grand nombre de ligne
combien à la louche pour avoir un ordre de grandeur ?
Merci de déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
La macro devrait fonctionner pour un grand nombre de ligne
combien à la louche pour avoir un ordre de grandeur ?
Merci de déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=97206&start=
Si tu gardes cette habitude on ne regardera même plus tes questions en se disant que tu as sans doute déjà la réponse ailleurs...