Excel VBA SubString
Excel VBA SubString est un type de fonction très utile en VBA qui est utilisé pour découper une donnée sous forme de chaîne. Mais dans les fonctions de feuille de calcul, nous avons trois fonctions de sous-chaîne qui sont la fonction Left-right et mid alors que dans VBA nous avons les fonctions Left-right mid et split comme fonctions de sous-chaîne. Comme son nom l’indique, la fonction substring de VBA divise une chaîne en plusieurs sous-chaînes. Comme expliqué ci-dessus, il existe plusieurs fonctions de sous-chaîne en VBA. Dans cet article, nous allons apprendre à utiliser ces fonctions de sous-chaîne séparément à l’aide d’exemples. Avant de passer aux exemples, apprenons d’abord la syntaxe de ces fonctions et quel argument ces fonctions prennent en entrée.
Syntaxe de la sous-chaîne Excel VBA
Suivant sont les différentes syntaxes:
Voir nos cours et vidéos de démonstration
Valorisation, Hadoop, Excel, applications mobiles, développement Web & beaucoup plus.
Syntaxe de la fonction Left SubString:
La chaîne de texte est la chaîne que nous fournissons en entrée tandis que la longueur est le nombre de caractères que nous voulons de la chaîne d’entrée.
Exemple : Si nous avons une chaîne de caractères comme ANAND et que nous voulons AN comme sous-chaîne, le code sera
Gauche (« ANAND »,2)
Syntaxe de la fonction sous-chaîne droite:
La chaîne de texte est la chaîne de caractères que nous fournissons en entrée tandis que la longueur est le nombre de caractères que nous voulons de la chaîne d’entrée.
Exemple : Si nous avons une chaîne de caractères comme ANAND et utilisons le même code que ci-dessus, le résultat sera
Droit (« ANAND »,2)
Cela donne ND comme résultat.
Syntaxe de la fonction Mid SubString en VBA:
La chaîne de texte est la chaîne que nous fournissons en entrée et la position de départ est la position où nous voulons que le caractère commence pour l’extraction tandis que la longueur est le nombre de caractères que nous voulons de la chaîne d’entrée.
Exemple : Nous avons une chaîne de caractères comme COMPUTER et nous voulons PUT comme sous-chaîne alors le code sera le suivant:
MID (« COMPUTER »,4,3)
Syntaxe de la fonction Split SubString:
- Expression As String : Il s’agit d’un argument obligatoire dans la fonction SPLIT. C’est essentiellement la chaîne d’entrée que nous fournissons.
- Délimiteur : C’est un argument facultatif. C’est le délimiteur spécifique qui divise la chaîne de caractères mais par défaut, l’espace est considéré comme délimiteur par défaut.
- Limite : C’est également un argument facultatif. Limite signifie le nombre maximum de parties que nous voulons faire d’une chaîne de caractères. Mais encore une fois, si nous ne fournissons pas de limite à la fonction, VBA la traite comme la valeur par défaut -1, ce qui conclut que la chaîne sera brisée chaque fois qu’il y a un délimiteur dans la chaîne.
- Comparer : Ce dernier argument est également un argument facultatif. Compare est une méthode de comparaison qui est l’une des deux ci-dessous :
- Soit c’est 0 ce qui signifie que SPLIT effectuera une comparaison binaire ce qui signifie que chaque caractère doit correspondre à lui-même.
- Ou cela peut être 1 ce qui signifie que la fonction SPLIT fera une comparaison textuelle.
La fonction Split est la plus délicate et la plus utile parmi toutes les fonctions de sous-chaîne ci-dessus. Toutes les trois autres fonctions de sous-chaîne utilisent une chaîne de caractères comme entrée tandis que la fonction Split utilise un tableau de chaînes de caractères.
Par exemple si j’écris Split(« I AM A GOOD BOY ») divisera la chaîne de caractères comme séparément (chaque mot comme séparé). Maintenant, utilisons ces fonctions de sous-chaînes dans des exemples.
Comment utiliser les fonctions de sous-chaînes en VBA ?
Nous allons apprendre à utiliser la fonction SubString dans Excel en utilisant le code VBA.
Exemple #1
Fonction Substring gauche en VBA. Utilisons la première fonction de sous-chaîne en VBA. Pour cela, suivez les étapes ci-dessous :
Etape 1 : Allez dans l’onglet du développeur et cliquez sur Visual Basic pour ouvrir l’éditeur VB.
Etape 2 : Insérez un nouveau module à l’intérieur de l’éditeur Visual Basic (VBE). Cliquez sur l’onglet Insertion > sélectionnez Module.
Etape 3 : Déclarez une sous-fonction pour commencer à écrire le code.
Code:
Sub Sample()End Sub
Etape 4 : Déclarer deux chaînes de caractères une pour prendre l’entrée de l’utilisateur et une autre pour stocker la valeur du résultat.
Code:
Sub Sample()Dim A, B As StringEnd Sub
Etape 5 : Prendre l’entrée de l’utilisateur pour la chaîne de saisie en utilisant la fonction de boîte de saisie.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Etape 6 : Dans la variable B, stocker la valeur de la fonction de gauche jusqu’à la troisième place.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)End Sub
Etape 7 : Utiliser la fonction Msgbox pour afficher le résultat final.
Code:
Sub Sample()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Left(A, 3)MsgBox BEnd Sub
Etape 8 : Exécutez maintenant le code ci-dessus en appuyant sur la touche F5. et écrivez la chaîne d’entrée comme ANAND.
Etape 9 : Lorsque nous appuyons sur OK, nous voyons le résultat de la fonction de sous-chaîne gauche.
ANA est les trois caractères de la gauche de la chaîne.
Exemple #2
Fonction de sous-chaîne droite en VBA. Pour cela, suivez les étapes suivantes :
Etape 1 : Dans le même module, déclarez une autre sous-fonction pour commencer à écrire le code de la fonction substring droite.
Code :
Sub Rightsub()End Sub
Etape 2 : Déclarez deux variables A et B comme chaîne de caractères.
Code:
Sub Rightsub()Dim A, B As StringEnd Sub
Etape 3 : Prendre l’entrée de l’utilisateur et stocker la valeur dans la variable A.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Etape 4 : Utiliser la fonction Droite sur la chaîne de caractères jusqu’à la troisième place et stocker la valeur dans la variable B.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)End Sub
Etape 5 : Utiliser la fonction Msgbox pour afficher la valeur de B.
Code:
Sub Rightsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Right(A, 3)MsgBox BEnd Sub
Etape 6 : Exécuter le code et entrer la chaîne d’entrée comme « MAMAN ».
Etape 7 : Appuyez sur OK pour voir le résultat.
HER est les trois caractères à partir de la droite de la chaîne.
Exemple #3
Fonction de sous-chaîne intermédiaire en VBA. Pour cela, suivez les étapes suivantes :
Etape 1 : Dans le même module, déclarez une autre sous-fonction pour commencer à écrire le code de la fonction Mid.
Code :
Sub MIDsub()End Sub
Etape 2 : Déclarez deux variables A et B comme String.
Code:
Sub MIDsub()Dim A, B As StringEnd Sub
Etape 3 : Prendre l’entrée de l’utilisateur et stocker la valeur dans la variable A.
Code:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")End Sub
Etape 4 : Utiliser la fonction Mid avec la position de départ comme 4 et la longueur comme 3 stocke la valeur dans B et l’affiche en utilisant la fonction Msgbox.
Code:
Sub MIDsub()Dim A, B As StringA = InputBox("Enter a String", "Single String")B = Mid(A, 4, 3)MsgBox BEnd Sub
Etape 5 : Exécuter le code ci-dessus et donner COMPUTER comme entrée.
Etape 6 : Appuyer sur OK pour voir le résultat final.
La sous-chaîne PUT commence à la 4ème position et nous avons extrait avec succès trois caractères.
Exemple #4
Fonction VBA Split SubString. Pour cela, suivez les étapes suivantes :
Etape 1 : Dans le même module, déclarez une sous-fonction pour commencer à écrire le code de la sous-fonction.
Code :
Sub SplitSub()End Sub
Etape 2 : Déclarez deux variables A comme chaîne de caractères et B comme tableau de chaînes de caractères et prenez la chaîne d’entrée de l’utilisateur et stockez-la dans la variable A.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")End Sub
Etape 3 : Utiliser la fonction Split SubString et stocker sa valeur dans la variable B.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")End Sub
Etape 4 : Utiliser la boucle For pour afficher chaque sous-chaîne sur une seule ligne.
Code:
Sub SplitSub()Dim A As StringDim B() As StringA = InputBox("Enter a String", "Separate with Commas")B = Split(A, ",")For i = LBound(B) To UBound(B)strg = strg & vbNewLine & "String Number " & i & " - " & B(i)Next iMsgBox strgEnd Sub
Etape 5 : Exécutez le code ci-dessus et donnez I,AM,GOOD,BOY en entrée.
Etape 6 : Appuyez sur OK pour voir le résultat.
Nous avons utilisé « , » comme délimiteur dans l’exemple ci-dessus.
Conclusion
Comme les fonctions de sous-chaîne de feuille de calcul, VBA a aussi des fonctions de sous-chaîne. Il s’agit des fonctions Left Right Mid et Split. Fondamentalement, les fonctions Substring divisent une chaîne ou un tableau de chaînes en plusieurs sous-chaînes. Si nous voulons une sous-chaîne à partir de la gauche de la chaîne, nous utilisons la fonction Left ou Right dans le cas contraire. Si nous voulons un caractère central d’une chaîne donnée, nous utilisons la fonction MID. Aussi si nous avons un tableau de chaînes de caractères nous utilisons les fonctions split.
Ce qu’il faut retenir
Il y a quelques choses que nous devons retenir sur les fonctions Substring en VBA:
- C’est similaire aux fonctions substring des feuilles de calcul.
- Les fonctions substring divisent une chaîne donnée en sous-chaînes.
- Si nous avons un tableau de chaînes, nous utilisons les fonctions split.
- Seule la chaîne d’entrée dans la fonction split est obligatoire tandis que les autres sont facultatives.
Articles recommandés
Ce guide porte sur la sous-chaîne VBA. Ici, nous discutons de la façon d’utiliser la fonction SubString dans Excel VBA avec des exemples pratiques et un modèle excel téléchargeable. Vous pouvez également consulter nos autres articles proposés –
- VBA SendKeys
- VBA On Error Goto
- VBA Input
- VBA LBound
.