Concaténer Excel VBA

La concaténation peut être définie comme la jonction ou l'ajout de deux chaînes ou éléments de données pour obtenir une seule chaîne ou un élément de données est appelé concaténation. En termes simples, si nous avons une liste de prénoms dans une colonne et de nom de famille dans une autre colonne à l'aide de l'opération de concaténation, nous pouvons combiner les deux et les placer dans une seule cellule en une fraction de secondes. Dans Excel, pour réaliser cette concaténation, nous avons une fonction de feuille de calcul appelée Concat (). Mais, ce type de fonction n'est pas disponible dans VBA. Nous ne pouvons pas utiliser concatenate () dans le codage VBA car cela ne fonctionnera pas. Par conséquent, aucune fonction n'est disponible dans VBA et ne peut pas accéder aux fonctions de la feuille de calcul également, alors comment nous allons concaténer deux chaînes ou plus dans VBA.

Tout d'abord, nous verrons comment nous allons faire avec la fonction de feuille de calcul, puis nous verrons la même chose dans VBA. Considérez deux chaînes dans Excel comme indiqué dans la capture d'écran ci-dessous.

Utilisez maintenant la fonction concaténer pour combiner les deux chaînes.

Observez la formule, D4 ​​et E4 sont l'adresse des cellules que nous voulons combiner. Comme ci-dessus, nous pouvons concaténer plusieurs nombres de chaînes de différentes cellules.

Comment utiliser la fonction de concaténation Excel VBA?

Nous allons apprendre à utiliser un concaténat VBA avec quelques exemples dans Excel.

Vous pouvez télécharger ce modèle Excel VBA concaténé ici - Modèle Excel VBA concaténé

Concaténation VBA - Exemple # 1

Comme nous n'avons pas de fonctions intégrées dans VBA, la concaténation dans VBA peut être obtenue en utilisant l'opérateur esperluette (&).

Nous prendrons le même exemple que celui que nous avons déjà pris pour la fonction de feuille de calcul. Nous avons «I love» dans la cellule D4 et «India» dans la cellule E4. Nous allons maintenant combiner ces deux chaînes en VBA. Accédez à l'onglet de l'éditeur VBA.

Étape 1: Accédez à l'onglet Développeur, puis sélectionnez l'onglet «Visual Basic» sur le côté gauche. Ensuite, il faudra accéder à l'écran ci-dessous.

Étape 2: Tout d'abord, nous devons créer un sous-processus avec n'importe quel nom comme la concaténation . Pour lancer le sous-processus, utilisez le mot-clé Sub et le nom du processus «concaténation».

Code:

 Sub Concatenate () End Sub 

Étape 3: Dans le sous-processus, nous devons définir des chaînes comme string1, string2 et full_string à l'aide du mot clé dim.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String End Sub 

Étape 4: Maintenant, nous devons attribuer la chaîne «J'aime» à chaîne1 et «Inde» à chaîne2 en utilisant l'opérateur d'affectation «=» comme ci-dessous.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" End Sub 

Étape 5: Maintenant, combinez string1 et string2 à l'aide de l'opérateur esperluette et affectez cette combinaison à full_string comme ci-dessous. Gardez un espace entre les variables de chaîne et l'opérateur esperluette pour éviter le message d'erreur.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & String2 End Sub 

Étape 6: Maintenant, la concaténation de string1 et string2 est stockée dans full_string. Affichez cette chaîne en utilisant une boîte de message comme ci-dessous.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & String2 MsgBox (full_string) End Sub 

Étape 7: Maintenant, il est temps d'exécuter le processus. Cliquez sur le bouton de lecture qui est marqué d'une boîte de couleur rouge. Le résultat apparaîtra dans la boîte de message comme ci-dessous.

Étape 8: Dans l'exemple ci-dessus, nous avons pris les deux chaînes directement dans le programme et il n'y a pas d'espace entre la première chaîne et la deuxième chaîne. Comment ajouter de l'espace alors? Très simple tout en concaténant, concaténez également l'espace.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Étape 9: Observez l'image ci-dessus, nous avons ajouté l'espace entre chaîne1 et chaîne2 à l'aide de guillemets doubles. Si nous voulons ajouter «-», nous pouvons le faire également.

Code:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "I Love" String2 = "India" full_string = String1 & "-" & String2 MsgBox (full_string) End Sub 

Étape 10: Le résultat sera comme ci-dessous.

Concaténation VBA - Exemple # 2

Étape 1: Maintenant, nous allons prendre les données de la feuille Excel et concaténer puis afficher les résultats. Pour cela, affectez les données des cellules à string1 et string2 comme indiqué ci-dessous.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value MsgBox (full_string) End Sub 

Étape 2: Observez l'image ci-dessus, nous avons attribué la valeur des cellules (4, 4) à stirng1 et des cellules (4, 5) dans string2. Comme d'habitude, concaténez les deux chaînes à l'aide de l'opérateur esperluette.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Étape 3: Pour cette raison, quelles que soient les données des cellules (4, 4) et des cellules (4, 5), elles seront combinées et stockées dans full_string. Maintenant, exécutez le processus en cliquant sur le symbole de lecture.

Étape 4: Les données proviennent d'Excel ci-dessous.

Étape 5: Si nous modifions les données dans Excel et réexécutons les résultats du programme changeront selon les données Excel. Au lieu de l'Inde, j'ai changé pour des bonbons maintenant nous allons courir et vérifier.

Étape 6: Le résultat arrive maintenant dans la boîte de message. Au lieu d'une boîte de message si nous voulons dans Excel lui-même, nous pouvons le faire.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value Cells (4, 7) .Value = String1 & String2 MsgBox ( full_string) End Sub 

Étape 7: Attribuez la concaténation dans la cellule d'adresse de cellule (4, 7) et supprimez msgbox car nous n'avons plus besoin de boîte de message. Appuyez sur le bouton de lecture et allez à vous exceller et vérifiez que le résultat sera dans la cellule (4, 7) (ligne 4 et colonne 7).

Étape 8: Comme nous ajoutons deux chaînes, nous pouvons également utiliser le symbole «+» comme ci-dessous.

Code:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Cells (4, 4) .Value String2 = Cells (4, 5) .Value Cells (4, 7) .Value = String1 + String2 End Sub 

Étape 9: Le résultat sera comme ci-dessous. Il n'y aura aucune différence.

Étape 10: Mais si nous utilisons des nombres au lieu de chaînes pour concaténer en utilisant le symbole «+», il effectuera la concaténation et non l'addition, car nous avons pris le type de données sous la forme d'une chaîne, pas d'un entier.

Étape 11: Le résultat sera comme ci-dessous.

Si nous prenons le type de données comme entier, nous devons utiliser l'opérateur esperluette uniquement pour la concaténation. Si nous utilisons «+» tout en prenant un type de données entier, il ne concaténera pas mais effectuera l'addition.

Concaténation VBA - Exemple # 3

Étape 1: Si nous voulons combiner une chaîne et un nombre, nous pouvons également appliquer la même technique. Pour cette valeur de numéro de garder dans une cellule et la valeur de chaîne dans une autre cellule et cliquez sur l'option d'exécution.

Étape 2: Le résultat n'aura pas d'impact, ce sera le même résultat de chaîne que précédemment avec le seul changement est le nombre au lieu d'une chaîne.

Choses dont il faut se rappeler

  • La concaténation consiste à combiner les chaînes de deux ou plusieurs chaînes multiples de cellules différentes. Pour effectuer cela dans Excel, nous avons une fonction de feuille de calcul intégrée qui est CONCAT.
  • La fonction de feuille de calcul concat n'est pas accessible dans VBA pour concaténer.
  • La concaténation sera réalisée à l'aide de l'opérateur esperluette (&) et plus (+). Si vous prenez un type de données entier, le symbole "+" effectuera une opération d'addition au lieu de la concaténation, donc assurez-vous de cela.
  • Utilisez un espace avant et après les symboles & et + sinon cela lancera un message d'erreur.
  • Lors de la définition de variables de chaîne, ne gardez aucun espace dans un nom de variable. Si un espace est fourni dans le nom de variable de chaîne, il ne sera pas autorisé car il affichera un message d'erreur comme ci-dessous.

Articles recommandés

Ceci est un guide de VBA Concatenate. Nous discutons ici comment utiliser la fonction de concaténation Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA InStr expliqué avec des exemples
  2. Type de données entier VBA
  3. Comment sélectionner une cellule en utilisant le code VBA?
  4. Transposer une plage en VBA

Catégorie: