Table des matières
Dans Excel, la concaténation est le processus qui consiste à joindre deux chaînes de caractères pour en former une seule. En d'autres termes, si nous avons un tableau avec des prénoms dans une colonne et des noms de famille dans une autre, nous pouvons utiliser la procédure de concaténation pour les concaténer et les combiner dans une seule cellule en une fraction de seconde. Dans Excel, nous avons une fonction appelée CONCATENER () qui nous permet d'effectuer cette concaténation. Cependant, en VBA ce type de fonction n'est pas autorisé. Nous ne pouvons pas utiliser la fonction CONCATENER () dans le code VBA car cela ne fonctionnera pas. Parce que VBA ne dispose pas de fonctions intégrées et nous ne pouvons pas utiliser les fonctions des feuilles de calcul. VBA concaténer pour combiner plusieurs cellules, colonnes et lignes dans Excel.
Télécharger le cahier d'exercices
Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.
Fonction Concaténation VBA.xlsmIntroduction à la fonction Concaténation de VBA
Comme nous l'avons mentionné, Excel n'a pas de fonction intégrée pour la concaténation VBA, mais nous pouvons la faire fonctionner comme une fonction en combinant différentes chaînes de caractères avec des opérateurs. Ici, nous utilisons l'esperluette. (& ;) comme notre opérateur.
⟴ Syntaxe
String1 = " Premier texte"
String2 = " Deuxième texte"
⟴ Valeur de retour
Valeur de retour = String1 & ; String2
4 utilisations différentes de la fonction Concaténation VBA dans Excel
Ici, nous utiliserons 4 approches différentes pour effectuer le processus de concaténation. Nous appliquerons différents opérateurs en combinaison avec le processus de concaténation. VBA pour y parvenir.
1. utiliser l'opérateur esperluette (& ;) pour joindre des cellules dans VBA Concaténation
Comme le montre la capture d'écran ci-dessous, nous avons une collection de données à deux colonnes avec les prénoms dans une colonne et les noms de famille dans l'autre. En fusionnant les deux colonnes, nous pouvons maintenant obtenir les noms entiers. Parce que VBA n'a pas de méthode intégrée pour la concaténation, nous utiliserons l'esperluette (& ;) comme indiqué dans les instructions ci-dessous.
Étape 1 :
- Tout d'abord, appuyez sur Alt + F11 pour ouvrir le Feuille de travail activée par la macro.
- Ensuite, cliquez sur
- Sélectionnez Module .
Étape 2 :
- Pour combiner deux cellules en une seule, copiez et collez le texte suivant VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & ; String2 MsgBox (full_string) End Sub
Ici,
- String1 = Cells(5, 2).Value est le premier emplacement de la cellule B5 , rangée 5, et colonne 2 .
- String2 = Cells(5, 3).Value est le deuxième emplacement de la cellule C5 , rangée 5, et colonne 3 .
- Cells(5, 5).Value = String1 & ; String2 est l'emplacement de la cellule de résultat E5 , rangée 5 et colonne 5 .
- String1 & ; String2 sont les deux cordes jointes par l'esperluette (& ;)
Étape 3 :
- Sauvegardez et appuyez sur F5 pour exécuter le programme.
Par conséquent, vous obtiendrez le résultat dans le E5 de votre feuille de calcul actuelle.
Étape 4 :
- Suivez et répétez les étapes pour les autres cellules et obtenez les résultats comme indiqué dans l'image ci-dessous.
Lire la suite : Comment utiliser VBA StrComp dans Excel (5 exemples courants)
Utiliser l'opérateur Plus (+) pour joindre des cellules dans VBA Concatenate.
Comme décrit dans la section précédente, nous avons utilisé l'esperluette (& ;) pour joindre les chaînes de cellules. Vous pouvez obtenir le même résultat en appliquant l'opérateur plus (+) au lieu de l'esperluette (& ;) Pour le faire, suivez les étapes suivantes.
Étape 1 :
- Pour ouvrir Macro dans Excel, appuyez sur Alt + F11 .
- Cliquez sur Insérer et sélectionnez
- Après avoir ouvert la page du programme, collez ce qui suit VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (full_string) End Sub
Ici,
- Cells(5, 5).Value = String1 + String2 est cette ligne que nous utilisons plus (+) au lieu de l'esperluette (& ;)
Étape 2 :
- Après avoir collé, enregistrez et appuyez sur F5 pour exécuter le programme. Par conséquent, vous verrez le changement dans la cellule E5 .
- Pour obtenir le résultat final, remplissez les cellules requises en effectuant à nouveau les étapes précédentes.
Lire la suite : Comment utiliser la fonction StrConv de VBA (5 exemples)
Lectures similaires :
- Comment appeler un sous en VBA dans Excel (4 exemples)
- Renvoyer une valeur dans une fonction VBA (valeurs de type tableau et non tableau)
- Comment utiliser la fonction VBA DIR dans Excel (7 exemples)
- Utiliser la fonction VBA UCASE dans Excel (4 exemples)
- Comment utiliser la fonction InStr en VBA (3 exemples)
3. ajouter plusieurs colonnes en utilisant la concaténation VBA
Dans les deux approches précédentes, nous avons vu comment combiner deux cellules. Cependant, si nous voulons l'appliquer à l'ensemble de la colonne, l'ajouter une par une prendra beaucoup de temps. Nous allons vous apprendre comment ajouter plusieurs colonnes de manière globale avec VBA code pour cela.
Étape 1 :
- Tout d'abord, pour ouvrir Macro presse Alt + F11
- Choisissez Module de la Insérer onglet
- Ensuite, collez ce qui suit VBA
Sub ConcatCols() 'concaténer les colonnes B & ; C dans la colonne E Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & ; LastRow) .Formula = "=B5&C5" .Value = .Value End With End With End Sub
Ici,
- Avec Worksheets("Sheet3") est le nom de votre feuille de calcul actuelle.
- LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row est le nom de la première colonne.
- With .Range("E5:E" & ; LastRow) est la plage de cellules de retour du résultat.
- .Formula = "=B5&C5" est la formule permettant de joindre la première cellule de la plage.
Étape 2 :
- Puis, enfin, enregistrez et appuyez sur F5 pour exécuter le programme.
En conséquence, vous obtiendrez les résultats entièrement dans une colonne.
Lire la suite : Comment utiliser VBA Rnd dans Excel (4 méthodes)
Joindre plusieurs lignes à l'aide de VBA Concaténation
En plus de l'ajout de plusieurs colonnes, nous pouvons également appliquer VBA pour concaténer plusieurs lignes en une seule. Comme le montre la capture d'écran ci-dessous, nous voulons concaténer les trois lignes en une seule. Pour concaténer les lignes, suivez les étapes simples ci-dessous.
Étape 1 :
- Pour l'activation Macro dans Excel, appuyez sur Alt + F11 .
- Ensuite, sélectionnez Module de la Insérer
- Pour concaténer les lignes, collez le fichier VBA
Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & ; rng & ; " " Next rng Range("B8").Value = Trim(i) End Sub
Ici,
- Set SourceRange = Range("B5:D5") est la plage de cellules source.
- Range("B8").Value = Trim(i) est le numéro de la cellule de retour.
Étape 2 :
- Enfin, sauvegardez le programme et appuyez sur F5 pour courir.
Ainsi, le résultat final de la concaténation des trois lignes sera affiché dans la cellule B8 .
Lire la suite : Comment masquer les rangées supérieures dans Excel (7 méthodes)
Conclusion
Pour résumer, j'espère que ce billet a fourni des instructions claires sur la manière d'utiliser VBA concaténer dans Excel de différentes manières. Toutes ces techniques doivent être apprises et utilisées sur vos données. Examinez le livre d'exercices et mettez vos nouvelles connaissances en pratique. Grâce à votre soutien, nous sommes motivés pour continuer à créer des ateliers comme celui-ci.
N'hésitez pas à nous contacter si vous avez des questions et à nous faire part de vos commentaires dans l'espace ci-dessous.
Le site Exceldemy L'équipe répondra constamment à vos questions.