Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

expressions regulieres - vba

honoran

XLDnaute Nouveau
bonjour à tous,

J'espere que vous allez pouvoir à nouveau m'aider.

Je recherche la syntaxe ou un exemple qui utilise en VBA les expressions regulieres. J'ai deja utilise le principe des expressions regulieres en PHP et perl donc j'espere que c possible avec excel.

ce que je voudrais faire:

tant qu'il n'y a pas de ligne vide
si la ligne contient le mot recherché 'je ne vois pas d'autre méthode que les expressions reguliere pour trouver un mot dans une phrase
'traitement
fin si
ligne ++
fin tant que


J'espere avoir ete assez clair et que quelqu'un pourra me donner un indice
 

Hervé

XLDnaute Barbatruc
Re : expressions regulieres - vba

bonjour

une proposition à l'aide de l'instruction like, mais tu peux utiliser aussi la méthode instr :

Code:
Dim c As Range

For Each c In Range("a1:a10")
'    If c Like "?toto" Then 'se finissant par "toto"
'    If c Like "toto?" Then 'commencant par "toto"
'    If c Like "*toto*" Then 'contenant "toto"
    If c Like "toto" Then 'exclusivement "toto"
        'traitement
    End If
Next c
salut
 

MichelXld

XLDnaute Barbatruc

michel_m

XLDnaute Accro
Re : expressions regulieres - vba

Bonjour Honoran, Hervé, Michel

Merci mon cher Michel pour la pub!

Honoran cette macro vérifie la présence d'un mot dans une cellule

Sub verifier_présencemot()
Dim reg As VBScript_RegExp_55.RegExp

Set reg = New VBScript_RegExp_55.RegExp
'définition du modèle: on vérifie si il existe le mot "papa" dans le texte en B3
reg.Pattern = "papa"
MsgBox reg.Test(Range("B3"))
End Sub

nota: la bibliothèque Microsoft VBSCRIPT REGULAR EXPRESSIONS 5.5 doit être activée

Bon courage avec les "pattern" §

Michel_M
 

michel_m

XLDnaute Accro
Re : expressions regulieres - vba

Au fait, Honoran, le 4 juillet j'avais répondu à ta demande:
"Exporter des données Excel vers une base de données Access "
qui te conseillait le wiki de MichelXLD

depuis, pas de nouvelles de ta part...
Michel_M
 

porcinet82

XLDnaute Barbatruc
Re : expressions regulieres - vba

Bonjour a tous,

Comme Hervé (que je remercie au passage de me rappeler l'instruction Like) a parler de l'instruction Instr, voici un petit exemple :
PHP:
Dim i&
Do While Not Cells(i, 1).Value = ""
    If InStr(1, Cells(i, 1).Value, "toto") Then
        'ton code
    End If
    i = i + 1
Loop

@+
 

michel_m

XLDnaute Accro
Re : expressions regulieres - vba

Re, bonsoir Porcinet

Tout à fait d'accord pour la solution d'hervé et la tienne. Utiliser les "regular expressions" est démesuré dans ce cas mais c'est ce que demande le silencieux Honoran
C'est une technologie que j'ai étudié par curiosité "au cas où"; dans les démos que j'ai envoyé à Michel, il y en a une d'amusante: extraire les mots de N lettres et plus d'un texte... Je dis amusante car je pense que son utilité serait plutôt rare avec Excel. Sur Word, peut être, mais il y a certainement une fonction qui doit le faire (Word et moi...).

Mais c'est en me prenant la tête sur des technologies comme ça que je progresse: ADO, WMI (merci michelXLD), m'ont fait comprendre énormément de trucs plus que la cellule qui clignote pourpre-vert fluo en faisant coin-coin si textbox1.value est la date anniversaire de Tata Germaine...(lol)

Amitiés et bon mardi

Michel_M
 

honoran

XLDnaute Nouveau
Re : expressions regulieres - vba

Je viens d'arriver au boulot et c'est avec plaisir que je vois que des personnes ont deja repondu . Merci à tous pour votre aide et votre rapidité, je vais tenté aujourd'hui de mettre en place vos solutions.

michel_m concernant ma demande du 4 juillet, j'ai bien lu ta reponse par contre je n'arrive pas a acceder aux elements du wiki.

Voila ce que j'ai d'affiché:

PHP Warnings
lib/WikiUser.php:50: Notice[8]: Only variables should be assigned by reference

lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference

lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference

lib/pear/DB/common.php:741: Notice[8]: Only variable .....


C'est donc pour cela que je ne t'ai toujours pas repondu. Si tu as ce document d'accessible d'une autre maniere je suis toujours preneur

bonne journée a tous et encore merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…