Je cherche =C3=A0 extraire une sous-chaine de 5 chiffres dans une chaine, s=
achant que cette sous-chaine n'est pas forc=C3=A9ment toujours au m=C3=AAme=
endroit dans la chaine.
Je pense qu'il faut passer par une expression r=C3=A9guli=C3=A8re.....que j=
e ne maitrise absolument pas !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 15/10/19 à 04:44, ThierryP a écrit :
Bonjour le forum ! Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine, sachant que cette sous-chaine n'est pas forcément toujours au même endroit dans la chaine. Je pense qu'il faut passer par une expression régulière.....que je ne maitrise absolument pas ! Toute piste sera la bienvenue ! Merci d'avance, ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevoir une solution. MichD
Le 15/10/19 à 04:44, ThierryP a écrit :
Bonjour le forum !
Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine, sachant que cette sous-chaine n'est pas forcément toujours au même endroit dans la chaine.
Je pense qu'il faut passer par une expression régulière.....que je ne maitrise absolument pas !
Toute piste sera la bienvenue !
Merci d'avance,
ThierryP
Bonjour,
Donne des exemples de sous-chaine à extraire.
Quelles conditions une sous-chaine doit avoir pour que tu décides de
l'extraire? Comme ta question est posée, il est difficile de concevoir
une solution.
Bonjour le forum ! Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine, sachant que cette sous-chaine n'est pas forcément toujours au même endroit dans la chaine. Je pense qu'il faut passer par une expression régulière.....que je ne maitrise absolument pas ! Toute piste sera la bienvenue ! Merci d'avance, ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevoir une solution. MichD
Péhemme
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel "MichD" a écrit dans le message de groupe de discussion : qo45nc$v3t$ Le 15/10/19 à 04:44, ThierryP a écrit :
Bonjour le forum ! Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine, sachant que cette sous-chaine n'est pas forcément toujours au même endroit dans la chaine. Je pense qu'il faut passer par une expression régulière.....que je ne maitrise absolument pas ! Toute piste sera la bienvenue ! Merci d'avance, ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevoir une solution. MichD
Bonjour ThierryP, bonjour Denis,
Récemment, certainement sur ce forum un contributeur a publié une réponse
utilisant :
Set RegExp = CreateObject("vbscript.regexp")
qui m'a semblé extrêmement puissant.
La difficulté d'utilisation de regexp est de définir le "pattern" dans le
langage approprié.
Denis a raison, quelle chaîne précise souhaites-tu extraire ?
Peut-être que cet outil peut répondre à ta demande ?
Bonne journée à tous
Michel
"MichD" a écrit dans le message de groupe de discussion :
qo45nc$v3t$1@gioia.aioe.org...
Le 15/10/19 à 04:44, ThierryP a écrit :
Bonjour le forum !
Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine,
sachant que cette sous-chaine n'est pas forcément toujours au même endroit
dans la chaine.
Je pense qu'il faut passer par une expression régulière.....que je ne
maitrise absolument pas !
Toute piste sera la bienvenue !
Merci d'avance,
ThierryP
Bonjour,
Donne des exemples de sous-chaine à extraire.
Quelles conditions une sous-chaine doit avoir pour que tu décides de
l'extraire? Comme ta question est posée, il est difficile de concevoir
une solution.
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel "MichD" a écrit dans le message de groupe de discussion : qo45nc$v3t$ Le 15/10/19 à 04:44, ThierryP a écrit :
Bonjour le forum ! Je cherche à extraire une sous-chaine de 5 chiffres dans une chaine, sachant que cette sous-chaine n'est pas forcément toujours au même endroit dans la chaine. Je pense qu'il faut passer par une expression régulière.....que je ne maitrise absolument pas ! Toute piste sera la bienvenue ! Merci d'avance, ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevoir une solution. MichD
ThierryP
Bonjour Denis, Effectivement, j'ai posté un peu vite !! Je recherche (à titre d'exemple) la sous-chaine 21325 dans une chaine "PO21325 - Order Confirmation bla bla bla", mais la position dans la chaine peut varier (ex : "bla bla bla 21325") J'espère que c'est plus clair ainsi ! ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevo ir une solution. MichD
Bonjour Denis,
Effectivement, j'ai posté un peu vite !!
Je recherche (à titre d'exemple) la sous-chaine 21325 dans une chaine "PO21325 - Order Confirmation bla bla bla", mais la position dans la chaine peut varier (ex : "bla bla bla 21325")
J'espère que c'est plus clair ainsi !
ThierryP
Bonjour,
Donne des exemples de sous-chaine à extraire.
Quelles conditions une sous-chaine doit avoir pour que tu décides de
l'extraire? Comme ta question est posée, il est difficile de concevo ir
une solution.
Bonjour Denis, Effectivement, j'ai posté un peu vite !! Je recherche (à titre d'exemple) la sous-chaine 21325 dans une chaine "PO21325 - Order Confirmation bla bla bla", mais la position dans la chaine peut varier (ex : "bla bla bla 21325") J'espère que c'est plus clair ainsi ! ThierryP
Bonjour, Donne des exemples de sous-chaine à extraire. Quelles conditions une sous-chaine doit avoir pour que tu décides de l'extraire? Comme ta question est posée, il est difficile de concevo ir une solution. MichD
ThierryP
Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas s imple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié u ne réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "patter n" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
Bonjour Péhemme, re-bonjour Denis,
C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande !
Et comme tu le soulignes, c'est la création du pattern qui n'est pas s imple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script !
Denis est sur le coup, je ne suis pas inquiet !!!
ThierryP
Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis,
Récemment, certainement sur ce forum un contributeur a publié u ne réponse
utilisant :
Set RegExp = CreateObject("vbscript.regexp")
qui m'a semblé extrêmement puissant.
La difficulté d'utilisation de regexp est de définir le "patter n" dans le
langage approprié.
Denis a raison, quelle chaîne précise souhaites-tu extraire ?
Peut-être que cet outil peut répondre à ta demande ?
Bonne journée à tous
Michel
Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas s imple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié u ne réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "patter n" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
Péhemme
Salut ThierryP, En attendant Denis, peux-tu essayer cela : Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.Test(expression) End Function Sub Test() MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla") End Sub Bonne chance :-))) Michel "ThierryP" a écrit dans le message de groupe de discussion : Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
Salut ThierryP,
En attendant Denis, peux-tu essayer cela :
Function Nb_A_Cinq_Chiffres(expression As String) As Boolean
Dim reg As Object
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}"
Nb_A_Cinq_Chiffres = reg.Test(expression)
End Function
Sub Test()
MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla")
End Sub
Bonne chance :-)))
Michel
"ThierryP" a écrit dans le message de groupe de discussion :
58bfa37c-d1d5-47ab-b54e-e4272f10be8a@googlegroups.com...
Bonjour Péhemme, re-bonjour Denis,
C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui
doit répondre à ma demande !
Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple
si on ne maitrise pas les expressions régulières ni comment les intégrer
dans un script !
Denis est sur le coup, je ne suis pas inquiet !!!
ThierryP
Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis,
Récemment, certainement sur ce forum un contributeur a publié une réponse
utilisant :
Set RegExp = CreateObject("vbscript.regexp")
qui m'a semblé extrêmement puissant.
La difficulté d'utilisation de regexp est de définir le "pattern" dans le
langage approprié.
Denis a raison, quelle chaîne précise souhaites-tu extraire ?
Peut-être que cet outil peut répondre à ta demande ?
Bonne journée à tous
Michel
Salut ThierryP, En attendant Denis, peux-tu essayer cela : Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.Test(expression) End Function Sub Test() MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla") End Sub Bonne chance :-))) Michel "ThierryP" a écrit dans le message de groupe de discussion : Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
Péhemme
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5 Nul doute que Denis va nous faire un cours sur ce sujet. :-)) Bien amicalement Michel "ThierryP" a écrit dans le message de groupe de discussion : Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
Par ailleurs, je me demande dans quelle situation on doit cocher la
référence :
Microsoft VBScipt Regular Expressions 5.5
Nul doute que Denis va nous faire un cours sur ce sujet.
:-))
Bien amicalement
Michel
"ThierryP" a écrit dans le message de groupe de discussion :
58bfa37c-d1d5-47ab-b54e-e4272f10be8a@googlegroups.com...
Bonjour Péhemme, re-bonjour Denis,
C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui
doit répondre à ma demande !
Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple
si on ne maitrise pas les expressions régulières ni comment les intégrer
dans un script !
Denis est sur le coup, je ne suis pas inquiet !!!
ThierryP
Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis,
Récemment, certainement sur ce forum un contributeur a publié une réponse
utilisant :
Set RegExp = CreateObject("vbscript.regexp")
qui m'a semblé extrêmement puissant.
La difficulté d'utilisation de regexp est de définir le "pattern" dans le
langage approprié.
Denis a raison, quelle chaîne précise souhaites-tu extraire ?
Peut-être que cet outil peut répondre à ta demande ?
Bonne journée à tous
Michel
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5 Nul doute que Denis va nous faire un cours sur ce sujet. :-)) Bien amicalement Michel "ThierryP" a écrit dans le message de groupe de discussion : Bonjour Péhemme, re-bonjour Denis, C'est ce que j'avais vu il y a quelque temps et c'est effectivement ce qui doit répondre à ma demande ! Et comme tu le soulignes, c'est la création du pattern qui n'est pas simple si on ne maitrise pas les expressions régulières ni comment les intégrer dans un script ! Denis est sur le coup, je ne suis pas inquiet !!! ThierryP Le mardi 15 octobre 2019 12:31:38 UTC+2, Péhemme a écrit :
Bonjour ThierryP, bonjour Denis, Récemment, certainement sur ce forum un contributeur a publié une réponse utilisant : Set RegExp = CreateObject("vbscript.regexp") qui m'a semblé extrêmement puissant. La difficulté d'utilisation de regexp est de définir le "pattern" dans le langage approprié. Denis a raison, quelle chaîne précise souhaites-tu extraire ? Peut-être que cet outil peut répondre à ta demande ? Bonne journée à tous Michel
ThierryP
Re-bonjour Michel, En première approche, ta macro fonctionne très bien ! Je l'ai un peu retouchée grâce à JB, dont le site (http://bo isgontierjacques.free.fr/) reste une mine ! ça donne : Function Nb_A_Cinq_Chiffres(expression As String) As String Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" reg.Global = False Set x = reg.Execute(expression) If x.Count > 0 Then Nb_A_Cinq_Chiffres = x(0) Else Nb_A_Cinq_Chiffres = "" End Function Merci pour le coup de main ! ThierryP Le mardi 15 octobre 2019 16:41:34 UTC+2, Péhemme a écrit :
Salut ThierryP, En attendant Denis, peux-tu essayer cela : Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.Test(expression) End Function Sub Test() MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla") End Sub Bonne chance :-))) Michel
Re-bonjour Michel,
En première approche, ta macro fonctionne très bien !
Je l'ai un peu retouchée grâce à JB, dont le site (http://bo isgontierjacques.free.fr/) reste une mine ! ça donne :
Function Nb_A_Cinq_Chiffres(expression As String) As String
Dim reg As Object
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "d{5}"
reg.Global = False
Set x = reg.Execute(expression)
If x.Count > 0 Then Nb_A_Cinq_Chiffres = x(0) Else Nb_A_Cinq_Chiffres = ""
End Function
Merci pour le coup de main !
ThierryP
Le mardi 15 octobre 2019 16:41:34 UTC+2, Péhemme a écrit :
Salut ThierryP,
En attendant Denis, peux-tu essayer cela :
Function Nb_A_Cinq_Chiffres(expression As String) As Boolean
Dim reg As Object
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}"
Nb_A_Cinq_Chiffres = reg.Test(expression)
End Function
Sub Test()
MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla")
End Sub
Re-bonjour Michel, En première approche, ta macro fonctionne très bien ! Je l'ai un peu retouchée grâce à JB, dont le site (http://bo isgontierjacques.free.fr/) reste une mine ! ça donne : Function Nb_A_Cinq_Chiffres(expression As String) As String Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" reg.Global = False Set x = reg.Execute(expression) If x.Count > 0 Then Nb_A_Cinq_Chiffres = x(0) Else Nb_A_Cinq_Chiffres = "" End Function Merci pour le coup de main ! ThierryP Le mardi 15 octobre 2019 16:41:34 UTC+2, Péhemme a écrit :
Salut ThierryP, En attendant Denis, peux-tu essayer cela : Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As Object Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.Test(expression) End Function Sub Test() MsgBox Nb_A_Cinq_Chiffres("PO21325 - Order Confirmation bla bla bla") End Sub Bonne chance :-))) Michel
MichD
Le 15/10/19 à 11:11, Péhemme a écrit :
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions 5.5", la fonction ressemble à ceci : '------------------ Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As RegExp Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.test(expression) End Function '------------------ La déclaration de la bibliothèque te permet d'attribuer le "type" à la variable "Reg" comme "RegExp" au lieu de "Object" En déclarant la variable, dim Reg As RegExp En plus d'être un peu plus rapide de quelques nanosecondes, dans ton code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces attributs. Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au lieu de les deviner ou de les apprendre par coeur, en plus, cela évite les fautes d'orthographe... MichD
Le 15/10/19 à 11:11, Péhemme a écrit :
Par ailleurs, je me demande dans quelle situation on doit cocher la
référence :
Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions
5.5", la fonction ressemble à ceci :
'------------------
Function Nb_A_Cinq_Chiffres(expression As String) As Boolean
Dim reg As RegExp
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}"
Nb_A_Cinq_Chiffres = reg.test(expression)
End Function
'------------------
La déclaration de la bibliothèque te permet d'attribuer le "type" à la
variable "Reg" comme "RegExp" au lieu de "Object"
En déclarant la variable, dim Reg As RegExp
En plus d'être un peu plus rapide de quelques nanosecondes, dans ton
code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est
beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces
attributs.
Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le
point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au
lieu de les deviner ou de les apprendre par coeur, en plus, cela évite
les fautes d'orthographe...
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions 5.5", la fonction ressemble à ceci : '------------------ Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As RegExp Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.test(expression) End Function '------------------ La déclaration de la bibliothèque te permet d'attribuer le "type" à la variable "Reg" comme "RegExp" au lieu de "Object" En déclarant la variable, dim Reg As RegExp En plus d'être un peu plus rapide de quelques nanosecondes, dans ton code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces attributs. Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au lieu de les deviner ou de les apprendre par coeur, en plus, cela évite les fautes d'orthographe... MichD
Péhemme
Bonsoir Denis, Merci de tes explications. À l'instar de ThierryP, il me faut maintenant travailler les "Expressions Rationnelles". :-)) Bien amicalement Michel "MichD" a écrit dans le message de groupe de discussion : qo4t7p$eko$ Le 15/10/19 à 11:11, Péhemme a écrit :
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions 5.5", la fonction ressemble à ceci : '------------------ Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As RegExp Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.test(expression) End Function '------------------ La déclaration de la bibliothèque te permet d'attribuer le "type" à la variable "Reg" comme "RegExp" au lieu de "Object" En déclarant la variable, dim Reg As RegExp En plus d'être un peu plus rapide de quelques nanosecondes, dans ton code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces attributs. Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au lieu de les deviner ou de les apprendre par coeur, en plus, cela évite les fautes d'orthographe... MichD
Bonsoir Denis,
Merci de tes explications.
À l'instar de ThierryP, il me faut maintenant travailler les "Expressions
Rationnelles".
:-))
Bien amicalement
Michel
"MichD" a écrit dans le message de groupe de discussion :
qo4t7p$eko$1@gioia.aioe.org...
Le 15/10/19 à 11:11, Péhemme a écrit :
Par ailleurs, je me demande dans quelle situation on doit cocher la
référence :
Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions
5.5", la fonction ressemble à ceci :
'------------------
Function Nb_A_Cinq_Chiffres(expression As String) As Boolean
Dim reg As RegExp
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}"
Nb_A_Cinq_Chiffres = reg.test(expression)
End Function
'------------------
La déclaration de la bibliothèque te permet d'attribuer le "type" à la
variable "Reg" comme "RegExp" au lieu de "Object"
En déclarant la variable, dim Reg As RegExp
En plus d'être un peu plus rapide de quelques nanosecondes, dans ton
code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est
beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces
attributs.
Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le
point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au
lieu de les deviner ou de les apprendre par coeur, en plus, cela évite
les fautes d'orthographe...
Bonsoir Denis, Merci de tes explications. À l'instar de ThierryP, il me faut maintenant travailler les "Expressions Rationnelles". :-)) Bien amicalement Michel "MichD" a écrit dans le message de groupe de discussion : qo4t7p$eko$ Le 15/10/19 à 11:11, Péhemme a écrit :
Par ailleurs, je me demande dans quelle situation on doit cocher la référence : Microsoft VBScipt Regular Expressions 5.5
Si tu déclares la bibliothèque "Microsoft VBScipt Regular Expressions 5.5", la fonction ressemble à ceci : '------------------ Function Nb_A_Cinq_Chiffres(expression As String) As Boolean Dim reg As RegExp Set reg = CreateObject("vbscript.regexp") reg.Pattern = "d{5}" 'équivalant de : reg.Pattern = "[0-9]{5}" Nb_A_Cinq_Chiffres = reg.test(expression) End Function '------------------ La déclaration de la bibliothèque te permet d'attribuer le "type" à la variable "Reg" comme "RegExp" au lieu de "Object" En déclarant la variable, dim Reg As RegExp En plus d'être un peu plus rapide de quelques nanosecondes, dans ton code, tu vas avoir accès aux propriétés et méthodes des objets. Ceci est beaucoup plus simple surtout lorsque nous ne connaissons pas bien ces attributs. Par exemple, si tu tapes dans la procédure Reg. Immédiatement après le point apparaît la liste des propriétés ou méthodes de l'objet "Reg" au lieu de les deviner ou de les apprendre par coeur, en plus, cela évite les fautes d'orthographe... MichD
ThierryP
Bonjour Denis, Merci une fois de plus pour tes explications ! ThierryP