XL 2019 RegEx

Amilo

XLDnaute Accro
Bonjour,

J'ai découvert les expressions RegEx notamment à la lecture de ce fil,
Après quelques recherches, je retiens que RegEx est un langage très puissant
Je voudrais m'aventurer dans l'apprentissage en tout cas dans les bases,
Et ceci afin d'extraire des mots ou expressions plus ou moins complexes dans une liste Excel (comme le sujet du fil que j'ai mis en lien)

Cependant, j'ai également noté certaines remarques à @jmfmarques concernant RegEx et le code VBS : vbscript.dll
Je me pose alors certaines questions :
- Faut-il éviter VBScript.dll et à quoi il sert ?
- RegEx est-il plus lent que le VBA ?
- Y a-t-il un inconvénient à utiliser RegEx plutôt VBA ?
- Est-ce que RegEx est plutôt réservé à d'autres environnements que Excel ?
En tout cas, je rencontre peu d'utilisation de RegEx dans Excel, je note que c'est un langage très particulier.

Sinon voici notamment les extraits qui m'ont interpellé :

Au message #4
Une fois obtenue cette précision, je m'efforcerai de donner une solution sans alourdir par REGEX (lourd et pas forcément disponible sur toutes les machines)

Au message #15 :
et sans REGEX (natif sur les PC mais inhibé sur certains, dont le mien :) )

Au massage #32
ps : et ce n'est pas seulement scrun.dll, mais la totalité de vbscript.dll, hein, que tu importes ainsi dans ton classeur …

Merci d'avance pour vos lumières

Cordialement
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Amilo

1) RegExp est disponible en natif sur les PC sous Windows
(donc souci à l'horizon pour Macistes VBAistes)

2) Un petit PDF avec un petit café pour bien commencer la journée.

3) Ce qui compte c'est de finir par appréhender les subtilités du pattern ;)
Et pour cela, rien mieux que de partir à la source, ( tea time! ;))

EDITION: Bonjour mapomme ;)
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour Staple1600,

Je vous remercie pour votre retour :
1) J'avais compris dans votre message #13 du lien que RegEx n'aime pas la Pomme
Désolé pour le jeu de mots et pour @mapomme que beaucoup apprécient sur ce forum :)
2) Merci aussi pour le petit pdf très pratique que je vais plutôt le lire pendant le tea time
3) Et essayer de partir à la source en prenant mon café

Merci encore et bonne journée
 
Dernière édition:

jmfmarques

XLDnaute Accro
Bonjour mapomme
Tu n'es absolument pas désavantagé. "Les utilisateurs MAC ne sont pas désavantagés ... "C'est même plutôt le contraire, puisque tu disposes, toi, puisqu'ils disposent, eux, de GREP (enfant d'unix) et de toute sa puissance, sans avoir à te se trimbaler tout un camion d'outils (comme c'est le cas avec REGEX de VBS, qui nécessite l'importation dans l'appli de la totalité de la bibliothèque VbScript).:)
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour jmfmarques :) ;)

En général, j'essaye de n'utiliser que les outils de base de VBA. Je fais cependant une exception pour l'outil 'Dictionary' plus par fainéantise qu'autre chose. Si un adepte du MAC me le demande (ou bien d'emblée selon mon humeur), je trouve une solution sans 'dictionary'. D'ailleurs, je vais m'y lancer pour cette discussion quand le télétravail me laissera une pause.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour jmfmarques

Messieurs (jmfmarques et mapomme)
Vos éditions des messages#5 et #6 rendent vos messages "peu" compréhensibles quand on arrive sur le fil ;)
Tu n'es absolument pas désavantagé.
Qui? Amilo ou mapomme
C'est même plutôt le contraire, puisque tu disposes, toi, de GREP (enfant d'unix)
Je ne vois nulle part cette information dans le fil

Bref, j'ai du mal à comprendre ;)
 

Amilo

XLDnaute Accro
Bonjour mapomme ;), jmfmarques,

Messieurs (jmfmarques et mapomme)
Vos éditions des messages#5 et #6 rendent vos messages "peu" compréhensibles quand on arrive sur le fil ;)
@Staple1600, c'est de ma faute, ça m'apprendra à faire des jeux de mots inutiles :)


@jmfmarques, je vais retenir simplement qu'il faut un camion pour tout charger et circuler sur un PC avec RegEx et VBS. o_O
Je vais me lancer malgré tout dans l'apprentissages des bases, histoire d'apprendre quelques astuces.

Bonne journée
 

jmfmarques

XLDnaute Accro
Arrête, Staple. Ne réveille pas mes algies, notamment lombaires. Je ne sais pas de "qui" tu parles, mais je l'envie, puisque lui, au moins, ne souffre pas du dos.
J'attends encore, à ce propos, que l'on commence à développer sur la base d'algies à éviter plutôt que d'algos à installer...
Bref ... je suis en train de retourner, peu à peu, à mes délires de jeunesse (because of Sir Malaria).
 

laurent950

XLDnaute Accro
Bonjour,
il y a un site très explicite mais pas très intuitif certes !
Les Expressions Rationnelles appliquées en VBA Excel :
* https://cafeine.developpez.com/access/tutoriel/regexp/

Bon moi aussi j'ai commencé quelques choses avec les Regex et le pattern est assez complex à apréhender
Exemples comment attraper dans une phrase : exemple ci-dessous
* les z 34 et 437 douze 750 z travaux 1000 d'Astérix
les Nombres qui sont bornées entre 34 et 1000 : Soit Récupérer 437 et 750 / Mais ne pas récupérer dans le Pattern 34 (Facile) et pas 1000 (Facile aussi)....
La difficulté c'est que le nombre 100 est compris entre (34 et 1000) et donc ont récupére aussi le Nombre 100

Mille excuses car cela est déjà bien trop complex !
Alors Voici Pour AMILO un fichier excel qui reprend les bases selon l'exemple du site ci-dessus.

Pour info je me suis arrêté aux chapitre:
* III-B. Apprentissage par la pratique : une adresse ip valide

Je join mon fichier Excel :
Ne pas oublier d'ajouter à vos références de projet, dans l'éditeur : Menu Outils > Reférences > Microsoft VBScript Regular Expressions.
Pour Microsoft qui est mis à disposition dans la bibliothèque de code

La première étape consiste à l'ajouter à vos références de projet, dans l'éditeur : Menu Outils > Reférences ..

Ps : Si vous le trouvé bien et que vous aussi vous avez envie de le compléter ou en dédié un autres au plaisir de partager avec vous et apprendre cette méthodes puissantes et très complexe.

laurent
 

Pièces jointes

  • Regex_ExpressionsRationnellesVBA.xlsm
    221.3 KB · Affichages: 8

jmfmarques

XLDnaute Accro
Mon vieux (encore plus vieux que moi) voisin me fait remarquer avec beaucoup de questionnements que lorsque l'on en est à chercher à déterminer si une donnée ressemble à ceci ou plutôt à cela, c'est qu'il est plus que vraisemblable que l'on a joyeusement négligé la conceptualisation et la modélisation des données et que l'on se "raccroche" comme on pense pouvoir le faire à des branches dont certaines pourront s'avérer pourries là où on s'y attend le moins.
A-t-il tort ?
 

patricktoulon

XLDnaute Barbatruc
re bonjour a tous
oui moi aussi je suis curieux cet outils existait certainement avant ton "vieux" voisin et c'est pas pour rien
il existe des situations ou l'on peut y avoir recours
je ne dis pas qu'il faut regexer a longueur de temps mais c'est un outils qui bien maîtrise fait du bon boulot

et ça n'a rien a voir avec un problème de conception

par ailleurs il a été démontré encore récemment sur le forum dans deux discussion qu'il pouvait avoir son utilité
bien que des solutions sans!!! ont été trouvées au prix de plusieurs journées d’échange
ce genre de code de remplacement, reste des défis purement culturel et pédagogique et formateur


il faut de tout pour faire un monde et un seul coronatrucmuche a la con pour le détruire

bon confinement a tous si je puis m'exprimer ainsi ;)
 

Statistiques des forums

Discussions
312 428
Messages
2 088 319
Membres
103 812
dernier inscrit
mehdifr