Dans le cadre d'un import de fichier je suis confronté au problème suivant :
Je récupère un tableau dont une colonne contient des informations sous forme de texte.
Ce texte est sur plusieurs lignes au sein de la même cellule.
Problème : pour importer mes données une ligne de texte doit correspondre à une ligne d'import donc en résumé chaque ligne de ma cellule doit correspondre à une ligne excel tout en conservant les même valeurs dans les autres colonnes pour cet enregistrement... j'espère que je suis clair...
Donc je cherche une solution pour :
- Compter le nombre de lignes dans la cellule.
- Générer autant de lignes excel que le comptage - 1
- Ré-eclater chaque ligne de texte de la cellule dans une des lignes générées et de préférence dans le même ordre.
- Conserver les même valeurs dans les autres cellules pour les lignes générées.
Exemple :
A A A B
C
D
Devient :
A A A B
A A A C
A A A D
Merci d'avance à ceux qui souhaiterons se joindre à mon casse-tête et proposer des solutions ! N'hésitez surtout pas à me demander des infos complémentaires si mon explication manque de clarté...
1) import dans excel je suppose ?
2) peut tu nous envoyer par "ci- joint.fr" un fichier avec :
dans un onglet tel que c'est importé
et dans un autre onglet ce que tu veux obtenir.
desolé, mais je trouve incorrect la facon dont" ph.souchal "reagit face aux personnes qui ont essayer de lui apporter une réponse, en demandant un morceau de fichier, alors que sur un autre forum, il a posté son fichier, et en plus obtenu les renseignement, voulu, donc, je vous mets le lien du forum en question , relatif a sa question, sns avoir a le solliciter, puisque anonyme... voici le lien
Excuse moi "être parfait" de ne pas avoir pensé à coller tout simplement le lien dans mon post pour en faire profiter les autres utilisateurs du forum, mais après une journée de travail ce sont des choses qui arrivent, j'espère que tu est aussi indulgent avec toi que tu semble l'être avec les autres ! Si c'est le cas tu es surement un grand homme !
DenisL,
Merci encore pour ton aide... et désolé de cet oubli.
j'ai mis le lien sur l'autre forum, si c'est un oubli, rien de grave, mais attention quand même a ce que tu post... car ta reponse m'a surprise ici...
Problème résolu par un autre biais, si toutefois vous êtes intéressés n'hésitez pas à me solliciter pour des infos info donné par mes soins...
bonne soirée au plaisir de te lire,
Quand la base est saine, ceux qui interviennent derrière toi sont heureux
à l'inverse, ils te maudissent ...
Maintenant que tu a nous fait la démonstration de tes talents d'enquêteur, je te serais gré de retirer ton post car mon employeur n'a aucune raison de figurer sur ce site, surtout pas pour ce genre de propos et encore moins a titre personnel. Merci d'avance.
Tu saura ensuite qu'il n"est pas pas besoin d'un tyran quand on a une conscience professionnelle, et que mon employeur est tout sauf un tyran bien au contraire.
Merci au modos pour avoir retiré mon post, je me suis peut être un peu emporté, mais c'est quelques fois frustrant de voir comment les gens réagissent alors que l'on veut tout simplement aider en partageant un peut de nos compétences, je travaille aussi dans un grand groupe et par moments je croirais reconnaître mes chefs.
Merci aussi à just1xpa2 de nous avoir signalé ce que je considère comme un abus.
Je renouvelle une nouvelle fois mon mea-culpa pour ce qui est avant un oubli et non pas une intention délibérée de ne pas partager ces informations ! Il suffisait en fait de cliquer sur mon pseudo pour m'envoyer un message privé et obtenir les infos... il est vrai que le copier/coller était plus simple.... Mais ce n'est pas ce que l'on appelle "mal réagir !".
Ceci dis je souhaite attirer l'attention des "habitués" sur le fait que tout les user's du forum ne sont pas des utilisateurs fréquents : en ce qui me concerne je dois poster sur des forum environ 3 fois par an... et je pense ne pas être le seul dans ce cas. Alors excusez nous messieurs si nous commettons quelques erreurs de débutants visiblement impardonnables et qui méritent donc d'être immédiatement "grillés" et affichés sur tout les forums ! Désolé de vous avoir froissés par mon manque de pratique !
On peut également signaler ce genre d'erreur gentiment, et c'est d'ailleurs ce que tu avais fait DenisL lorsque que j'ai oublié de flaguer le post en "résolu".... erreur corrigée dès réception de ton message ! C'est également ce qu'a fait "Anonyme" qui a obtenu les infos très rapidement... Comme quoi avec un peu de courtoisie on arrive a tout !
En espérant que l'incident est clos et que nos prochains échanges seront plus constructifs !
Sub test()
ligne = 2
For n = 2 To Range("D65536").End(xlUp).Row
x = Split(Range("D" & n), Chr(10))
For m = LBound(x) To UBound(x)
Sheets("Feuil2").Range("D" & ligne) = x(m)
For col = 1 To 3
Sheets("Feuil2").Cells(ligne, col) = Cells(n, col)