Function concat sans #N/A

Bonjour à tous,

J'ai repris le code ci-dessous pour concatener sans doublons (fonctionne bien sans valeurs erreurs).

Function concat(plage As Range) As String

Dim c As Range, dict

Set dict = CreateObject("Scripting.Dictionary")

For Each c In plage

If Not dict.exists(c.Value) And c <> "" Then dict(c.Value) = 1

Next c

concat = Join(dict.keys, ", ")

Set dict = Nothing

End Function

Le problème est que j'ai des valeurs #N/A dans certaines cellules de mes plages.

Je ne souhaite pas que celles-ci soient prises en compte dans la fonction concat

exemple :

valeur 1 : 12

valeur 2 : #N/A

valeur 3 : 5

concat = 12, 5

merci d'avance pour votre aide

Bonjour,

en "filtrant" les cellules en erreur:

If Not dict.exists(c.Value) And c <> ""  And Not IsError(c.Value) Then dict(c.Value) = 1

A+

merci pour ton aide AlgoPlus, j'avais essayé (j'ai retenté au cas où) mais ça ne fonctionne pas.

je joins mon classeur pour plus de compréhension.

8classeur1.xlsm (200.45 Ko)

la fonction concat est en colonne Q.

Comme ceci ça va mieux (enfin ... chez moi...)

.../...
        For Each c In plage
            If Not IsError(c.Value) Then
                If Not dict.exists(c.Value) And c <> "" Then dict(c.Value) = 1
            End If
        Next c
.../...

A+

génial ça fonctionne !

merci à toi AlgoPlus

Rechercher des sujets similaires à "function concat"