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
- Find vba - Astuces et Solutions
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Incompatibilité de type 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