Utilisé Mconcat sans possibitité d'installer le Pack

Bonjour, j'ai une Formule qui utilise Mconcat et cela fonctionne tres bien quand j'ai developpé chez moi, car j'ai installé le Morefonction qui inclu la version amélioré de Concatenate.

Au boulot ils sont réellement coincés et ont bridé au Max les Pc's et donc intall du Pack impossible, c'est Niet !!!!!!!

Le responsable réseau ne jure que par les versions d'usine donc je ne suis pas prêt de le voir intaller.

Donc je suis bloqué depuis deux semaines car j'ai des formules qui remonte en erreur.

Y a t-il une parade ou la possibilité d'intégré un code ayant les memes fonction de Mconcat dans mon classeur

Merci d'apporté une lumière à mon problème.

Bien cordialement

Bonsoir,

tu peux définir toi-même la fonction dans un module. Je ne suis pas sûr de ce que fait la fonction Mconcat,

mais essaie ceci

Public Function Mconcat(r As Range, Optional s = ", ")
    For Each c In r
        m = m & sep & c.Value
        If sep = "" Then sep = s
    Next
    Mconcat = m
End Function

Merci !!!!

Mconcat est une version amélioré de Concatener qui suprime les cellules vide et sépare les cellules par un séparateur de son choix type : MCONCAT(DECALER(C4;EQUIV(A1;B5:B31;0);;;15);" ► "

C4 = Début tableau haut Gauche

A1 = Cellule Choix

B5 : B31 plage

► sepateur de cellule

J'ai transformé ton Mconcat en Sconcat pour faire la différenciation avec celui du Pack, mais hélas il me met #NOM?

Public Function Sconcat(r As Range, Optional s = ", ")

For Each c In r

m = m & sep & c.Value

If sep = "" Then sep = s

Next

Sconcat = m

End Function

bonsoir,

tu as bien mis la fonction dans un module ? la fonction fournie ne supprime pas les virgules consécutives dues aux cellules vides.

voici une version adaptée.

Public Function Sconcat(r As Range, Optional s = ", ")
    For Each c In r
        m = m & sep & c.Value
        If m <> "" Then If sep = "" Then sep = s
    Next
    While InStr(m, s & s) <> 0
        m = Replace(m, s & s, s)
    Wend
    Sconcat = m
End Function

Merci h2so4 pour le temps consacré et de ton aide sur le sujet

Malgré l'avoir insérer dans un Module il me reporte une erreur

J'ai fermé et reouvert accepté module securité Macro mais rien y fait

je t'envoie un exemple concret

a1 et b1 liste deroulante

selon choix a1+b1 j'ai une reponse unique

sauf si b1=uniquement alors je remonte toute les cases non vide separé par ►

exemple ak1+uniquement = ► resist 1 ► disk1 ► 2 ► techop1 ► 1200 ► 9 ► 0.0318648928542978 ► Lundi ►

Bien cordialement et Encore Merci de ton Aide passé et Futur

28combi.xlsm (22.71 Ko)

Bonjour,

Bonjour h2so4,

Voir formule modifiée :

=SI(B1="uniquement";SCONCAT(DECALER(C4;EQUIV(A1;B5:B31;0);1;1;15);" ► ");RECHERCHEV(A1;B5:Q31;EQUIV(B1;B4:Q4;0);0))

Cdlt.

29combi.xlsm (24.73 Ko)

Bonjour,

j'ai trouvé 2 erreurs

1) la fonction sconcat n'était pas dans un nouveau module (ne pas la mettre dans une feuille ou dans un classeur)

2) les formules ont été recopiée vers le bas (semble-t-il) puis adaptée, mais ce faisant, tu as des références aux mauvaises cellules B2 au lieu de B1 A2 au lieu de A1, etc ...

j'ai corrigé pour que sconcat fonctionne, à toi d'adapter le reste.

49combi.xlsm (24.41 Ko)

C'est Gènial, un trés Grand Merci h2so4 pour ta patience et ton génie sur le sujet

Continue à nous faire réver et aimer ce bel outil qu'est Excel.

Bien cordialement

Daniel

h2so4 une dernière question qui semble bête mais je me lance quand Même.

Pour rendre le code Actif tu me demandes de le rentrer dans un Module

c'est ce ce que je pense faire mais Mal apparement.

Pour le faire : J'ouvre éditeur VBA , Insertion, Module

Là s'ouvre une page blanche ou je colle ton Code

puis je ferme VBA

Quand je vais dans mon classeur toujours en erreur

Alors je décide de fermer Excel et recharger ma feuiille en acceptant securité Macro mais rien y fait malgrés que le code est tours présent dans VBA.

ta feuille jointe fonctionne excellement mais je n'arrive pas a le reproduire dans mon fichier destination

je dois avoir oublié une ou plusieurs etapes

Merci

bonjour,

la procédure que tu as suivie me semble correcte.

essaie de réouvrir l'éditeur vba, tu dois voir apparaître un module nommé module1 (à moins que tu n'aies changes son nom).

double-clique sur le nom module1 et vérifie que le code que tu as copié s'y trouve bien.

en cas de doute, mets-nous le fichier dans lequel tu as l'erreur.

H2SO4 Merci du fond du Coeur

désolé du retard Mais j'ai dû ré-installé Excel car il y avait bel et bien un Bug qui faisait qu'il ne reagissait plus.

un simple fonction Si me mettez une ambiguité dans la formule.

Maintenant tout est rentré dans l'ordre, Encore grand Merci pour tes Lumières ....et ton support Précieux.

Daniel

Rechercher des sujets similaires à "utilise mconcat possibitite installer pack"