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

VBA concaténer 2 colonnes sous conditions

teuliere

XLDnaute Nouveau
Bonjour,
je trouve beaucoup d'exemples de concaténation (?) mais je n'arrive pas à compiler l'ensemble des exemples pour résoudre mon problème.
dans un tableau ci joint, je souhaite qu'en colonne D, lorsque le nom saisi est "MOL", il y ait concaténation -en colonne D- avec son pendant de colonne E, avec un "tiret" entre les 2 chaines de texte.

Je pensais au début utiliser idéalement une MàjConditionnelle, mais je crois que ça ne peut pas se faire, donc je pense qu'une macro me rendrait le service.

Merci de vos bons conseils.
DAVID
 

Pièces jointes

  • CONCAT.xlsm
    19.8 KB · Affichages: 78

gilbert_RGI

XLDnaute Barbatruc
Bonjour,

comme ceci peut-être



Sub Concatener()
Dim Cellule As Range, Sh2 As Worksheet
Set Sh2 = Sheets("CONCAT")
i = 2
For Each Cellule In Sh2.Range("d1:S" & Sh2.Range("S65536").End(xlUp).Row)
If Sh2.Range("d" & i).Value = "MOL" Then 'si valeur =1
Cells(i, 16).Value = Sh2.Range("d" & i).Value & Sh2.Range("e" & i).Value
End If
i = i + 1
Next
End Sub
 

teuliere

XLDnaute Nouveau
Bonjour et merci pour la réactivité..
content de voir que je n'était pas si loin de votre code..
En revanche, avez vous testé la macro, car de mon côté il ne se passe rien..?? ni réalisation de la macro, ni message d'erreur??

Le fait qu'il y ait de nombreuses cellules vide peut il être un facteur ?
 

teuliere

XLDnaute Nouveau
super,
du coupe, j'ai changé le (i, 16) en (i, 4) et j'obtiens ce que je veux :
à savoir de remplacer le contenu de ma colonne D par le concaténat de D+E.
COMMENT FAIRE pour insérer un tiret entre les 2 (ex : MOL - RAL)

Merci.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…