XL 2016 Fonction concaténer en masse

Djbreisto

XLDnaute Nouveau
Bonjour,

J'utilise actuellement la fonction concaténer.

J'aimerais sélectionner toutes les valeurs d’une colonne de manière séparé ( sans utiliser la touche contrôle 256 fois)
Pour sélectionner toute les valeurs je fais Ctrl +Maj+ flèche du bas et là j’aimerais séparer toutes les cellules sélectionnées.

J’aimerais ca rapidement:
=CONCATENER(C2;C3;C4;C5;C6;C7;C8;C9;C10;C11;C12;C13;C14;C15;C16;C17;C18;C19;C20;C21;C22;C23;C24;C25;C26;C27;C28;C29;C30;C31;C32;C33;C34;C35;C36;C37;C38;C39;C40;C41;C42;C43;C44;C45;C46;C47;C48;C49;C50;C51;C52;C53;C54;C55;C56;C57;C58;C59;C60;C61;C62;C63;C64;C65;C66;C67;C68;C69;C70;C71;C73;C72;C73;C72;C74;C75;C76;C77;C78;C79;C80;C81;C82;C83;C84;C85;C86;C87;C88;C89;C90;C91;C92;C93;C94;C95;C96;C97;C98;C99;C100;C101;C102;C103;C104;C105;C106;C107;C108;C109;C110;C111;C112;C113;C114;C115;C116;C117;C118;C119;C120;C121;C122;C123;C124;C125;C126;C127;C128;C129;C130;C131;C132;C133;C134;C135;C136;C137;C138;C139;C140;C141;C142;C143;C144;C145;C146;C147;C148;C149;C150;C151;C152;C153;C154;C155;C156;C157;C158;C159;C160;C161;C162;C163;C164;C165;C166;C167;C168;C169;C170;C171;C172;C173;C174;C175;C176;C177;C178;C179;C180;C181;C182;C183;C184;C185;C186;C187;C188)

Mais quand je prends toutes les données d’une colonne j’ai ca :
=CONCATENER(C1 :C188)
 

Lolote83

XLDnaute Barbatruc
Re salut,
Voici mon code rectifié. Dis moi si celui-ci fonctionne.
VB:
Function Concat2(xPlage As Range)
    For Each xCell In xPlage
        xConcat = xConcat & " OR " & xCell
    Next xCell
    Concat2 = xConcat
End Function
Pour l'utiliser, tu vas dans une cellule autre que celles ou il y a tes données et tu saisie = Concat2 et tu selectionnes ta plage de cellules.
@+ Lolote83
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Une petite fonction VBA personnalisée de mon cru
(à utiliser avec précaution, sur une plage de cellules par trop grande par exemple ;))
VB:
Function CONCATANATOR(R As Range, Optional vSep = ";") As String
Dim t: t = Application.Transpose(R.Value)
CONCATANATOR = Join(t, vSep)
End Function
Mode d'emploi
=CONCATANATOR(C1:C20)
ou aussi (avec choix du séparateur)
=CONCATANATOR(C1:C20;"/")