Change retour ligne par un blanc dans listbox

Résolu
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 - 10 déc. 2011 à 15:58
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 - 11 déc. 2011 à 11:54
Bonjour
j'ai le code suivant
Private Sub ComboBox1_Click()
Dim Plage As Range, c As Range
Dim Dercol As Integer
Dim DerLigne As Long
    ListBox1.Clear
    With Worksheets("Data")

        Dercol = .Range("A10").End(xlToRight).Column
        DerLigne = Combobox1.ListIndex + 10

        Set Plage = .Range(.Cells(DerLigne, 3), .Cells(DerLigne, Dercol))
        For Each c In Plage
            Me.ListBox1.AddItem c.Value

        Next c
    End With

End Sub


mais dans la listbox je souhaiterais que le retour a la ligne sous remplace par un blanc.
merci de vos idees
cris

16 réponses

chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
11 déc. 2011 à 11:37
bonjour
si tu as bien regarde, j'avais poser la question sur un autre site la veille. j'ai eu une reponse, et ferme le sujet hier.
apres je suis alle sur votre site, ou j'ai pose une autre question, regarde les horaires.
il est vrai que je vais sur d'autres sites , mais cela m'apprends a avancer, car ces deux sites il y a beaucoup d'informations.
il n'est pas interdit d'aller sur x sites.
j'aime ces deux sites, que j'utilise depuis plusieurs annees, etant a l'etranger.
ne soit pas vexe, j'ai utilise la commande cite ci dessus, car elle me paraissaitplus clair pour moi. je n'en est pas utilise d'autre.
mercia toi et tres bonne journee.
cris
3
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 16:30
peux etre avec
Columns(1).Replace Chr$(10), " "

mais je ne sais pas ou le mettre dans mon code pr que cela fonctionne
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 déc. 2011 à 16:05
Bonjour,
de quel "retour à la ligne" parles-lu ?
Il n'existe pas de "retour à la ligne" dans une listbox. Ce contrôle contient par contre des articles (items) présentés sous forme de liste (d'où le nom listbox).
Et une liste étant une liste, tu y as un article par ligne !
Que veux-tu exactement faire ? Car s'il s'agit d'afficher finalement plusieurs données sur une seule ligne, c'est une simple Textbox, qu'il te faut (et tu y concatène tes données séparées par un espace). Même un label ferait l'affaire !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 16:15
dans toutes mes cellules dans mon classeur j'ai des donnees avec un retour a la ligne
ex: 10/12/2010 a 10H00 retour a la ligne(chr(10) puis un autre texte
donc dans ma listbox je retrouve la meme mise en forme
je souhaiterais dans mon code separe ces deux texte c'est a dire
ex: 10/12/2010 a 10H00 (blanc) puis l'autre texte

cris
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 211
10 déc. 2011 à 17:31
Ah ! C'est cela, que tu voulais dire !

C'est alors bien évidemment avant d'ajouter, qu'il convient de remplacer

 For Each c In Plage
            Me.ListBox1.AddItem replace(c.Value,vblf," ")

        Next c

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 18:12
merci a toi je ne savais pas comment faire.
par contre il n'y a que 9 colonnes de pris en compte, cela peux aller actuellement jusqu'a 13 colonnes , peut etre plus que 13 dans l'avenir,
vois tu d'ou cela peut il venir
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 déc. 2011 à 18:27
ben !
C'est la valeur de ton dercol !
et donc tel que défini ici :
Dercol = .Range("A10").End(xlToRight).Column

mets donc un point d'arrêt et voies ce que vaut dercol à ce moment là
je te rappelle par ailleurs que ton :
 Set Plage = .Range(.Cells(DerLigne, 3), .Cells(DerLigne, Dercol))

fait que tu pars de la colonne C incluse (C = colonne 3)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 18:42
j'ai mis un point d'arret executer ca s'arrete mais je ne sais pas quoi faire apres,


pour la suite de ton message, il est exact que je pars de la colonnes c, car la B je ne veux pas la voir
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 19:30
une piste:
sur le premier nomily a 9 colonnes.
mais sur les autres il y en a beaucoup plus.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 déc. 2011 à 19:33
j'ai mis un point d'arret executer ca s'arrete mais je ne sais pas quoi faire apres,

il te faut donc apprendre ce point rudimentaire : savoir se servir d'un point d'arrêt et de la touche F8.
Mais rien ne devrait t'empêcher, si tout cela te parait du chinois, d'y aller à grands renfort d'artillerie lourde et d'afficher (après son calcul) la valeur de dercol (un simple msgbox, non ?)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 déc. 2011 à 19:53
Mais (c'est là la seconde fois) je vois que tu es à nouveau "parti ailleurs" y poser ta question. Je t'y laisse donc, Chris.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
10 déc. 2011 à 21:01
EXCUSE moi, mais j'avais du monde. je serais la demain
cris
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 déc. 2011 à 07:36
Ce n'est pas à ton absence, que je me référais, mais à ta "ballade" sur un autre site, Chris.
Et je vois bien à quoi on peut arriver ainsi, une fois de plus : à un mélange tel que ni toi, ni moi ne saurons plus exactement ce que tu as fait, ce que tu as transformé, etc ... ===>> double travail ensuite, tant pour comprendre que pour éventuellement réparer (et il me semble que nous avons déjà vu très récemment à quoi cela pouvait conduire), non ?)
Voilà tout ! Il ne s'agit pas d'un reproche du tout, mais juste de t'exposer que je préfère m'écarter, plutôt que d'être peu ou prou complice de la construction d'une tour de Babel.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 déc. 2011 à 07:52
Juste un mot, quand-même, sur ce que tu as fait, qu'on t'a fait faire "derrière" :
Exactement le contraire de ce que je te disais plus haut, à savoir :
C'est alors bien évidemment avant d'ajouter, qu'il convient de remplacer
Code Visual Basic :
For Each c In Plage
Me.ListBox1.AddItem replace(c.Value,vblf," ")
Next c

pour ne modifier que la présentation dans la listbox sans toucher à la donnée dans ta cellule !
Et cela risque de n'être qu'un début




____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
11 déc. 2011 à 11:42
Je ne te reproche rien, Chris !
Et pourquoi serais-je vexé ?
Le seul problème (et nous avons récemment pu voir ensemble à quelles situations inextricables on pouvait très vite aboutir) est qu'il va devenir extrêmement difficile d'ajouter une pièce à un puzzle, sans être certain de ce que des "détails" ne sont plus les mêmes du fait d'autres interventions.
Voilà tout


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
chris09300 Messages postés 140 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 18 avril 2012 1
11 déc. 2011 à 11:54
autre chose,
hier tu m'a parle d'un point d'arret,et f8,ce que j'ai fait.
mais aucun resultat. je ne suis pas expert,mais plutot debutant qui essai a tout apprendre, meme si des fois je me plante. mais ce sont les erreurs qui font avancees.
je regarde beaucoup les forums pour apprendre VBA.
a plus
cris
0
Rejoignez-nous