Concatenation de 3 colonnes

JohnBill

XLDnaute Junior
Salut à tout le forum d'Excel Downloads.
Je voudrais concatener 3 cellules dans une seule (en rajoutant un espace+tiret+espace ( - ) entre chaque mention) sur toutes les lignes d'une feuille (Quelquefois des dizaines de lignes). je sais faire par formule mais la recopie est fastidieuse car une fois concatené, j'utilise le résultat dans une autre feuille puis j'efface les données en attendant une autre utilisation. Donc je recherche la manière de le faire en vba.
Je joint un petit fichier.
Merci d'avance pour les réponses que j'aurais.
 

Pièces jointes

  • Essai_de_concat.xlsx
    11.2 KB · Affichages: 23

JohnBill

XLDnaute Junior
Salut zebanx, salut job75.
Tout d'abord, merci pour votre rapidité à répondre. Vos propositions me conviennent parfaitement (les deux fonctionnent) mais je pense que je vais utiliser la macro car il me suffit de créer un bouton sur la feuille et tout se fait très rapidement (Y compris l'effacement).
 

JohnBill

XLDnaute Junior
Rebonjour au forum et en particulier à job75 qui m'a donné une réponse que j'applique mais après utilisation en fichier réel et sur des colonnes plus importantes, je me suis aperçu que la macro continue à écrire ( - - ) en colonne D, à la suite des données alors qu'il n'y a plus rien en colonnes A, B et C. Y a t-il un remède ?
NB : il ne s'agit pas d'un reliquat de la manipulation précédente car j'efface la feuille entière après concatenation.
 

job75

XLDnaute Barbatruc
Bonsoir JohnBill,
Code:
Sub Concatener()
With ActiveSheet.UsedRange
    .Columns(4) = "=RC[-3]&REPT("" - ""&RC[-2],RC[-2]<>"""")&REPT("" - ""&RC[-2],RC[-2]<>"""")"
    .Columns(4) = .Columns(4).Value 'supprime les formules
End With
End Sub
Pour voir - et comprendre - les formules ne les supprimez pas.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof