Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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)
 

Djbreisto

XLDnaute Nouveau
Voici la version sans OR ni insertion de ligne :

VB:
Sub Concat_sans_OR_pour_Logiciel_en_E6()

    For Each Cell In Selection
        If Cell.Text <> "" Then ttt = ttt & " " & Cell.Text
    Next
    
    Range("E6").Select
    ActiveCell.FormulaR1C1 = ttt
    
    
End Sub

CDT
 

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;"/")
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…