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 bonjour,
La fonction personnalisée est associé à du code (macro).
Voici le code qu'il te faudra insérer dans un nouveau module de ton classeur.
Pour accéder au VBA, faire ALT+F11 et copier le code ci-dessous dans un nouveau module.
Puis il te faudra enregistrer ton classeur en XLSM
Voici le code
VB:
Function Concat(xPlage As Range)
    For Each xCell In xPlage
        xConcat = xConcat & xCell
    Next xCell
    Concat = xConcat
End Function
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Re,
Ok merci Rachid pour cette remarque. Je ne l'avais pas compris comme ça.
Je ne savais même pas qu'il existait une fonction native comme tu le précises.
Bonne soirée et au plaisir de se recroiser lors d'un prochain sujet.
Au fait, après l'araignée, puis le visage, voici maintenant un beau avatar. Tu vas changer souvent ?
J'aimais bien l'araignée mais celui ci n'est pas mal non plus.
@+ Lolote83
 

R@chid

XLDnaute Barbatruc
Re,
Je ne savais même pas qu'il existait une fonction native comme tu le précises.
à partir d'Excel 2019 on a CONCAT() et JOINDRE.TEXTE(), je pensais qu'elles existaient aussi sous Excel 2016.

Au fait, après l'araignée, puis le visage, voici maintenant un beau avatar. Tu vas changer souvent ?

J'aime bien ce logo que j'avais depuis presque 10 ans, l'araignée je l'adorais également.
 

Djbreisto

XLDnaute Nouveau
Bonjour à vous deux ,

voici la solution avec une macro pour faire a concaténation avec Excel depuis 2016

VB:
Sub selec_cellule()

    For Each Cell In Selection
        If Cell.Text <> "" Then ttt = ttt & " OR " & Cell.Text
    Next

    'Rows("1:1").Select
    'Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("E5").Select
    ActiveCell.FormulaR1C1 = ttt
    
    
End Sub

J'ai deux lignes en commentaire pour insérer l'information en case A1.

Cdt
 

Lolote83

XLDnaute Barbatruc
Bonjour,
Le code que je t'ai proposé au post#4 ne fonctionnait pas ???
Par contre, j'ai utilisé ton code et nullement il était indiqué au départ qu'il fallait rajouté le mot "OR" entre chaque cellule testée.
Mais bon si cela te convient.
@+ Lolote83
 

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T