Concatenation de deux colonnes et inserer cette concatenation dans une nouvelle colon

excel2010

XLDnaute Nouveau
Bonjour à tous,

J'ai créé une macro qui me permet de concatener deux colonnes cell(i,1) et cell(i,2).

Ensuite je souhaites inserer une colonne automatiquement pour inserer les valeurs de ma concatenation.

Voici ci dessous ma macro


Sub Traitement_Donnees()

Dim i As Long 'variable pour le nombre de lignes
Dim j As Long 'variable pour le nombre de colonnes
Dim lMaxRow As Long
Dim lMaxCol As Long

lMaxRow = SearchLastRow(CurrentWsSource) 'fonction
lMaxCol = SearchLastCol(CurrentWsSource) 'fonction

For i = 2 To lMaxRow - 1 'en partant de la ligne 2 à l'avant derniere ligne
lMaxCol = 3 '3 eme colonne
Columns(i, lMaxCol).Insert
Cells(i, lMaxCol).Value = Cells(i, 1).Value & "_" & Cells(i, 2).Value 'concatenation

End sub

Je recois un message d'erreur à la ligne Columns(i,lmaxcol).insert et je ne sais pas pourquoi, il devrais inserer une troisieme colonne automatiquement et recuperer mon resultat (cells(i,lmaxcol).value).

j'esperes que mon explication est assez claire. Je vous remercie par avance pour vos aides.
 

GeoTrouvePas

XLDnaute Impliqué
Re : Concatenation de deux colonnes et inserer cette concatenation dans une nouvelle

Bonjour,

j'esperes que mon explication est assez claire.
Sans savoir quel type d'erreur tu as, sans savoir de quoi ta feuille est composée, sans fichier exemple, ce n'est pas très clair.

A tout hasard, est ce que tu n'aurais pas des données dans la toute dernière colonne de ta feuille ?
 

excel2010

XLDnaute Nouveau
Re : Concatenation de deux colonnes et inserer cette concatenation dans une nouvelle

Bonjour,

Voici ci dessous une partie de mon tableau. J'ai du reduire les données car j'en ai beaucoup

et ce que je cherche à faire c'est de concatener la colonne composant et la colonne site et ensuite de mettre le resultat de cette concatenation dans une nouvelle colonne juste apres les deux premieres colonnes (composant et site)

Sauf que je n'arrive pas à trouver une solution qui me permet d'effectuer cette operation.

Si je rajoute par exemple les deux premieres lignes à ma macro:

Sheets("source").Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
For i = 2 To lMaxRow - 1
lMaxCol = 3
Cells(i, lMaxCol).Value = Cells(i, 1).Value & "_" & Cells(i, 2).Value 'concatenation des deux premieres colonnes
Next i

et que je lance ma macro plusieurs fois, il me créé à chaque fois une nouvelle colonne
 

Pièces jointes

  • Exemple de tableau.xls
    30 KB · Affichages: 80
  • Exemple de tableau.xls
    30 KB · Affichages: 89
  • Exemple de tableau.xls
    30 KB · Affichages: 84
Dernière édition:

Discussions similaires

Réponses
9
Affichages
300
Réponses
0
Affichages
308

Statistiques des forums

Discussions
314 634
Messages
2 111 421
Membres
111 129
dernier inscrit
Mike82