Concatener avec retour de ligne en function VBA

Résolu/Fermé
DragonBallZ1981 - 25 juil. 2022 à 10:00
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 25 juil. 2022 à 15:49

Bonjour,

Je me suis aider d'un autre sujet (https://forums.commentcamarche.net/forum/affich-34902869-recherchev-concatener), qui à résolut une partie de mon problème.

J'ai donc modifier la function avec mes données mais le séparateur de concatener n'as pas le résultat que je souhaite avoir.

Je voudrait un retour de ligne, mais impossible, il me marque toujours chr(10) dans ma cellule

Option Explicit
Function Concat(référence_1, référence_2, plage_recherche)
Dim cel As Range

Const sep = "Chr(10)"
    If référence_1 = "" Then
        Concat = "#PARAM": Exit Function
    Else
        Concat = ""
    End If
    For Each cel In plage_recherche
        If InStr(cel.Value, référence_1) > 0 And InStr(cel.Offset(0, 4).Value, référence_2) > 0 Then
            If InStr(Concat, cel.Value) = 0 And cel.Offset(0, 4).Value = référence_2 Then
                Concat = Concat & IIf(Concat = "", "", sep) & cel.Offset(0, 5).Value & " " & cel.Offset(0, 6).Value
            End If
        End If
    Next cel
    If Concat = "" Then
        Concat = "non trouvé"
    End If
    
End Function

J'ai bien coché l'option "renvoyé a la ligne automatiquement" mais dans ma cellule le concatener fonctionne mais a la place d'un retour de ligne a chaque recherche trouvé il m'écrit chr(10). j'ai essayé avec "car(10)" mais j'ai toujours le même problème

Si vous pouviez m'aider pour ce retour de ligne s'il vous plaît

Merci.
Windows / Chrome 103.0.0.0

2 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
25 juil. 2022 à 10:32

Bonjour,

Const sep = Chr(10)

ou 

Const sep = vbLf

avec des " " tu définis une chaine
eric


1
DragonBallZ1981
25 juil. 2022 à 11:02

Bonjour eriiic,

Merci pour la réponse chr(10) sans les guillemet j'avais déjà essayé mais il me disais une erreur de constente a définir.

avec sep = vbLf ça fonctionne bien merci beaucoup de la rapidité de réponse.

Bonne journée à vous et encore merci.

0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
25 juil. 2022 à 15:49

Bonjour,

oui, je n'ai pas réagi mais tu ne peux pas utiliser de fonctions pour définir une constante.
eric

0