Recuperer le texte d'un cellule ligne par ligne

ferdi99 Messages postés 7 Date d'inscription vendredi 20 mai 2016 Statut Membre Dernière intervention 8 août 2016 - 20 mai 2016 à 11:47
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 mai 2016 à 15:57


Bonjour,

je me permets de vous écrire pour solliciter votre aide.
je m'explique:

Je voudrais récupérer les juste nom et prénom des membres d'un groupe dans la cellule qui contient plusieurs lignes et les ajouter dans un listbox

NB : Voir l'image ci dessous

Merci d'avance

12 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
20 mai 2016 à 11:50
Bonjour,
Ouvre vite ton aide VBA à la rubrique Split.
Elle est ta solution , en te précisant que tes sauts de lignes étant le caractère 10, le splitting doit se faire sur chr(10)
Reviens avec ton code d'essai, si encore en difficulté.
0
ferdi99 Messages postés 7 Date d'inscription vendredi 20 mai 2016 Statut Membre Dernière intervention 8 août 2016
20 mai 2016 à 14:37
Bonjour, merci pour votre reponse.

Voila mon code mais ca ne marche pas comme je veux vraiment.

Dim Tablo
Dim i As Integer
Tablo = Split(Cells(no_ligne, 14).Value, Chr(10))
For i = 0 To UBound(Tablo)
ListBox1.AddItem Trim(Tablo(i))
Next i

NB : no_ligne correspond a l'index de la colonne ID Groupe
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
20 mai 2016 à 16:07
Et alors ?
Chaque index de ton Array Tazblo contient une ligne. A l'index 0 correspond la 1ère ligne, à l'index 1, la seconde, etc ...
Dans ton exemple, chaque Tablo(i) à partir de i = 1 est un nom et un prénom, non ?
C'est ce que tu as dit vouloir, non ?
Et si ce n'est pas ce que tu voulais dire : que voulais-tu alors dire ?
0
ferdi99 Messages postés 7 Date d'inscription vendredi 20 mai 2016 Statut Membre Dernière intervention 8 août 2016
20 mai 2016 à 18:19
Oui, c'est bien cela.

Mais il se trouve que je veux juste récupérer les nom et prénom et les ajouter dans un ListBox.

Si tu as une idée comment ça peut se faire ça serait sympa !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
20 mai 2016 à 18:21
Une "idée" ?????
Relis donc attentivement mon dernier message, hein ... tu y as plus qu'une "idée", je pense !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
20 mai 2016 à 18:54
Je commence tout d'un coup à soupçonner que ce que tu as dit là :
dans la cellule qui contient plusieurs lignes

Ne correspond pas à ce que tu as en fait sur ta feuille.
Montre-nous donc, juste pour voir, une copie d'écran faisant apparaître les N°s de ligne en plus des lettres de colonnes.
0
ferdi99 Messages postés 7 Date d'inscription vendredi 20 mai 2016 Statut Membre Dernière intervention 8 août 2016
Modifié par ferdi99 le 23/05/2016 à 18:32
désolé pour ma réponse tardive,


selon la capture de écran ça correspond a la ligne 3 et la colonne N de mon classeur excel


Merci pour tes réponses.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
23 mai 2016 à 18:52
Je veux la voir, cette capture d'écran.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
24 mai 2016 à 07:28
Pour que tu comprennes mes doutes et mon insistance :
Tu as dit en ton message 2 que le code suggéré ne fonctionnait pas.
Je l'ai testé et il fonctionne !
S'il ne fonctionne pas chez toi, cela veut très clairement dire que ce que tu traites n'est pas exactement ce que tu dis traiter.
Cellules fusionnées ? Groupe de cellules ?
Voilà pourquoi il est important de voir ces N°s de ligne en regard de tes cellules, sur ta copie d'écran.
Idem en ce qui concerne ton autre discussion.
0
ferdi99 Messages postés 7 Date d'inscription vendredi 20 mai 2016 Statut Membre Dernière intervention 8 août 2016
24 mai 2016 à 13:54
De quel code parle-tu ?

Vous m'a suggéré d'éclater la colonne sous forme de tableau avec chr(10), ce que j'ai fais.. Par contre l'aide c'était de récupérer tout simplement les nom + prénom des membres et les ajouter dans un Listbox, en ignorants la 1ere et la dernière ligne

J'ai mis la capture d'écran dans mon 1er post, je ne vois pas l'intérêt d'en mettre encore

La colonne Membre du Groupe correspond a la colonne G et la line 1 de mon classeur.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
24 mai 2016 à 14:40
Vous m'a suggéré d'éclater la colonne sous forme de tableau avec chr(10), ce que j'ai fais

Et qu'as-tu alors obtenu dans ta listbox ?
Quant à y ignorer la 1ère et la dernière ligne , il suffit de les ignorer !
For i = 1 To UBound(Tablo)-1
ListBox1.AddItem Trim(Tablo(i))
Next i

VRAIMENT !!!!
et tout ceci uniquement si (puisqu'impossible de le vérifier à la seule vue de ta capture d'écran) toutes ces "données" sont des lignes différentes, séparées par un saut de ligne, d'une seule cellule.
Bref ...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 235
Modifié par ucfoutu le 24/05/2016 à 17:11
Et ton trim m'inquiète.
N'aurais-tu pas "par hasard" (hum ...) décidé de donner à ta cellule un format d'alignement "spécial" en cochant "envoyer à la ligne automatiquement" ?
Puis en "complétant" manuellement, pour "aller à la ligne" par des espaces en fonction de la longueur ?
Si tel est le cas:
1) ce ne sont pas des sauts de ligne réels qui séparent tes "données", mais des "sauts visuels de simple "présentation" du texte à l'affichage
2) tes données sont alors "séparées" par un nombre indéterminé d'espaces et ne sont pas exploitables. Leur "affichage" dépend alors totalement le la largeur de la colonne et ... de la police de caractères ! !
Mais on va le savoir :
1) Ajoute donc une textbox textbox1 et exécute ce code :
TextBox1.Text = Range("G1").Value

puis mets-nous ici un copié/collé de ce que tu as dans la textbox ...
Si tout sur une ligne, ma foi .... c'est toute la conception de ton truc, qu'il va falloir repenser !


EDIT : et pour que tu comprennes que ta capture d'écran n'éclaire nullement, regarde cette image :



Seule la cellule A5 contient des données séparées par un saut de ligne
Les deux autres sont construites différemment (par deux autres formats) sans le moindre saut de ligne. Elles présentent toutefois le même "aspect" que la A5, mais sont inexploitables.

Et regarde maintenant celle-ci, d'image (j'y ai ajouté ce que l'on voit en colonne C pour que cela fasse "tilt" chez toi.

C'est de cette dernière manière, que tu dois raisonnablement concevoir.
Mais là .. ce n'est plus du développement, mais de la conception !
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0