Dans VBA : dupliquer des lignes contenant des retours chariots
Résolu
Loic
-
Loïc -
Loïc -
Bonjour,
J'ai une liste. Chaque ligne contient une personne. Les colonnes A à F contiennent les coordonnées. La colonne G contient les options choisies. Lorsque plusieurs options sont choisies elles sont séparées par un retour chariot (chr(10)).
Je voudrai avoir une liste à plat avec une option par ligne (et plusieurs fois la même personne lorsqu'elle a plusieurs options).
Je n'arrive pas à détecter avec vba les cellules qui contiennent un retour chariot.
J'ai essayé avec "InStr(Chr(10), cellule_option, 0)" qui me renvoie toujours un message "Type incompatible (erreur 13)".
Quelqu'un a-t-il une solution.
Merci d'avance.
, office 2010.
J'ai une liste. Chaque ligne contient une personne. Les colonnes A à F contiennent les coordonnées. La colonne G contient les options choisies. Lorsque plusieurs options sont choisies elles sont séparées par un retour chariot (chr(10)).
Je voudrai avoir une liste à plat avec une option par ligne (et plusieurs fois la même personne lorsqu'elle a plusieurs options).
Je n'arrive pas à détecter avec vba les cellules qui contiennent un retour chariot.
J'ai essayé avec "InStr(Chr(10), cellule_option, 0)" qui me renvoie toujours un message "Type incompatible (erreur 13)".
Quelqu'un a-t-il une solution.
Merci d'avance.
, office 2010.
A voir également:
- Dans VBA : dupliquer des lignes contenant des retours chariots
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
Bonsoir,
Si toi avec le fichier source tu ne vois pas, imagine ce que l'on peut voir nous sans ce fichier.
Et met aussi un exemple du résultat attendu.
Déposer le fichier *.xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Si toi avec le fichier source tu ne vois pas, imagine ce que l'on peut voir nous sans ce fichier.
Et met aussi un exemple du résultat attendu.
Déposer le fichier *.xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
eric
Bonjour,
le séparateur est bien chr(10), je n'ai pas eu de problème...
https://www.cjoint.com/?BLgkZeXUafX
je ne teste pas si Gx est vide....
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
le séparateur est bien chr(10), je n'ai pas eu de problème...
Sub dupliquer() Dim lig As Long, lig2 As Long, domaine As Variant, i As Long Dim sh As Worksheet Set sh = Worksheets("Feuil2") Application.ScreenUpdating = False sh.Cells.ClearContents Cells(1, 1).Resize(1, 7).Copy sh.Cells(1, 1) lig2 = 2 For lig = 2 To Cells(Rows.Count, 1).End(xlUp).Row domaine = Split(Cells(lig, "G"), vbLf) For i = 0 To UBound(domaine) Cells(lig, 1).Resize(1, 6).Copy sh.Cells(lig2, 1) sh.Cells(lig2, 7) = domaine(i) lig2 = lig2 + 1 Next i Next lig Application.ScreenUpdating = True sh.Activate End Sub
https://www.cjoint.com/?BLgkZeXUafX
je ne teste pas si Gx est vide....
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Le fichier contenant le format initial et le format souhaité est ici : http://cjoint.com/?BLgjb2fCcME
Merci du temps consacré à m'aider.
Bien cordialement,
Loïc