Inserer texte a la suite

Bonjour,

Je voudrais récupérer des chaines de caractère dans plusieurs cellules sur une colonne (nombre de cells variable),

et inscrire ces chaines à la suite les une des autres dans une autre cell, séparés par une virgule et une espace.

J'ai beau chercher partout, je ne trouve pas de solution.

Pour l'instant, tout ce que j'ai réussi à faire, c'est collecter les chaines de carractère pour les mettre dans une tableau :

Dim Ll%, Pl%, C%, code&, taille%
Ll = Range("Postes").Find("").Row     'N° de ligne de la 1iere cell vide de la plage "Postes"
Pl = Range("postes").Row             'N° de la 1iere cell de la plage "Postes"
C = Range("postes").Column         'N° de Colonne de la plage "Postes"

Dim tabCode()
taille = Ll - Pl
ReDim tabCode(taille)

' trouve tous les codes utilisés dans la facture et les range dans un tableau
x = 0
Do
    code = Cells(Pl + x, C).Value
    tabCode(x) = code
    x = x + 1
    MsgBox code
Loop While code <> ""

For T = 0 To x - 2
MsgBox tabCode(T)
Next

quelqu'un peut-il m'aider?

Bonjour,

Est-ce-que tu cherches à faire une concaténation ... ???

Du style A1&","&A2 ...

Oui exactement

Oui exactement

Oui exactement

Oui exactement

Heliande ... ou ceciledary ... ???

Re,

Ci-dessous ma fonction personnalisée pour la concaténation ...

Pour l'utiliser, dans la cellule 'destination': =myconcat(", ",taplagesource)

Function MyConCat(delimiter As Variant, ParamArray CellRanges() As Variant) As String
    Dim cell As Range, Area As Variant
    If IsMissing(delimiter) Then delimiter = ""

    For Each Area In CellRanges
        If TypeName(Area) = "Range" Then
            For Each cell In Area
                If Len(cell.Value) Then MyConCat = MyConCat & delimiter & cell.Value
            Next cell
        Else
            MyConCat = MyConCat & delimiter & Area
        End If
    Next Area

    MyConCat = Mid(MyConCat, Len(delimiter) + 1)

End Function

En espèrant que cela t'aide

Heliande ... ou ceciledary ... ???

Les deux, heliande est un ancien pseudo, je l'avais perdu, et ai recréé un profil puis l'ai retrouvé par hasard (faut que je le supprime).

Du coup Ceciledary est le bon pseudo.

Merci pour la fonction, je vais tester ça, mais je ne suis pas encore à l'aise avec les fonctions (vraiment pas), du coup ça risque de me prendre du temps...

Re,

La fonction personnalisée n'est qu'une macro d'un type particulier ...

Il te suffit de la copier dans un module standard ... et elle devient opérationnelle ..

Bonjour,

Au cas tu aurrais des difficultés avec le test de ta fonction personnalisée ... il ne faut pas hésiter à revenir sur le Forum ...

Bon, je suis bloquée: je n'ai pas UNE plage source (ce serait vraiment trop facile), mais un certain nombre de cellules, et le contenu de ces cellules doit s'inscrire dans ma cellule cible selon une condition.

Bref, recopier la fonction ne suffit pas il me faut la comprendre pour pouvoir l'adapter....

et la je coince

quelqu'un pourrait m'aider à la décrypter?

ou alors il me faut pouvoir l'utiliser dans une macro, avec les données d'un tab() pré-rempli...

est ce que c'est possible?

Bonjour,

Je t'invite à relire attentivement ton tout premier message en date du 8 Août ...

A aucun moment, tu ne fais mention d'une condition qui viendrait modifier ta ' concaténation ' ...

Avec une condition, le problème devient totalement différent ...

Merci de joindre un fichier illustratif ...

oui entre temps, le projet a évolué, en fait la fonction aurait même pu fonctionner dans la première version, depuis ça a changé.

Désolé, je dois paraitre bien inconstante...

Voici une copie du doc,

1concat.xlsm (44.80 Ko)

les données à "concater", sont dans des cellules jaunes, la cell cible est en rouge.

A noter que les dates ne sont à copier que si il y a un "evenement exceptionnel".

Mon idée était pour chaque colonne de rentrer les infos dans un tab à deux dimensions, puis d'inscrire l'ensemble dans la cellule cible...

Re,

Difficile ... pour moi ...de deviner... que ton projet ... et ton besoin ont évolué ...

Dès que j'ai un petit moment, je reprends ton fichier ... et ta fonction personnalisée ...

Edit :

A priori ... ton fichier est corrompu ... et je ne peux pas l'ouvrir ...

Peux-tu supprimer à l'intérieur ce qui serait susceptible de poser problème ... avant de le reposter ...

oui je sais, désolé, je t'ai mis un peu devant le fait accompli là

Bonjour,

Comme indiqué plus haut, ton fichier est a priori corrompu ...

Merci d'en faire une nouvelle copie ' propre ' ...

essaie cette version,

j'ai supprimé toute mes macros

2concat.xlsm (30.02 Ko)

Bonjour,

Fichier Toujours truffé d'incohérences et de conflits de plages nommées ...!!!

Après réparation ... j'ai pu l'ouvrir ... et ...

le fichier est VIDE de données .. !!!

Depuis une feuille vierge, peux-tu simplement créer un exemple :

avec quelques données fictives ET SURTOUT le résultat final que tu attends ...

Décidément quelle galère...

bon j'ai refait le doc, en copiant collant, et j'ai supprimé toutes les plages nommées à l'exception d'une.

si la, tu as toujours un bug, je donne ma langue au chat

2extrait.xlsx (15.76 Ko)

ps: ce n'est qu'une toute petite partie du fichier orignel, qui comporte plusieurs feuilles avec des macros et boutons partout

Re,

Félicitations ...

Ton fichier test est finalement passé ... !!!

Il ne reste plus qu'une seule clarification à apporter ...

Je suppose que la fonction personnalisée dont tu as besoin doit apparaitre à la ligne 49 ...

pour la ' Synthèse évènements exceptionnels ' ...

Une fois que tu auras coinfirmé ce point ...

Comment veux-tu que cette fonction se comporte ???

Oui tout à fait.

L'idée est d'inscrire dans la synthèse événement exceptionnel, tous les commentaires inscrits avec la date du jour correspondant.

C'est à dire que la fonction regarde dans chaque cellule de commentaire si il y a quelque chose et si le rajoute dans la cellule de synthèse(rouge) précédée de la date du jour .

Rechercher des sujets similaires à "inserer texte suite"