Recuperer le texte d'un cellule ligne par ligne

ferdi99
Messages postés
7
Date d'inscription
vendredi 20 mai 2016
Dernière intervention
8 août 2016
- 20 mai 2016 à 11:47 - Dernière réponse : ucfoutu
Messages postés
18039
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
Afficher la suite 

Votre réponse

12 réponses

ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 20 mai 2016 à 11:50
0
Merci
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é.
Commenter la réponse de ucfoutu
ferdi99
Messages postés
7
Date d'inscription
vendredi 20 mai 2016
Dernière intervention
8 août 2016
- 20 mai 2016 à 14:37
0
Merci
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
Commenter la réponse de ferdi99
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 20 mai 2016 à 16:07
0
Merci
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 ?
Commenter la réponse de ucfoutu
ferdi99
Messages postés
7
Date d'inscription
vendredi 20 mai 2016
Dernière intervention
8 août 2016
- 20 mai 2016 à 18:19
0
Merci
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 !
Commenter la réponse de ferdi99
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 20 mai 2016 à 18:21
0
Merci
Une "idée" ?????
Relis donc attentivement mon dernier message, hein ... tu y as plus qu'une "idée", je pense !
Commenter la réponse de ucfoutu
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 20 mai 2016 à 18:54
0
Merci
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.
Commenter la réponse de ucfoutu
ferdi99
Messages postés
7
Date d'inscription
vendredi 20 mai 2016
Dernière intervention
8 août 2016
- Modifié par ferdi99 le 23/05/2016 à 18:32
0
Merci
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.
Commenter la réponse de ferdi99
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 23 mai 2016 à 18:52
0
Merci
Je veux la voir, cette capture d'écran.
Commenter la réponse de ucfoutu
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 24 mai 2016 à 07:28
0
Merci
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.
Commenter la réponse de ucfoutu
ferdi99
Messages postés
7
Date d'inscription
vendredi 20 mai 2016
Dernière intervention
8 août 2016
- 24 mai 2016 à 13:54
0
Merci
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.
Commenter la réponse de ferdi99
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 24 mai 2016 à 14:40
0
Merci
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 ...
Commenter la réponse de ucfoutu
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- Modifié par ucfoutu le 24/05/2016 à 17:11
0
Merci
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.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.