PERMET DE RETROUVER DES FICHIERS WORD CONTENANT UN GROUPE DE MOTS

Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 - 15 sept. 2006 à 08:28
devsurf Messages postés 148 Date d'inscription dimanche 13 octobre 2002 Statut Membre Dernière intervention 13 novembre 2008 - 21 mai 2007 à 00:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39560-permet-de-retrouver-des-fichiers-word-contenant-un-groupe-de-mots

devsurf Messages postés 148 Date d'inscription dimanche 13 octobre 2002 Statut Membre Dernière intervention 13 novembre 2008
21 mai 2007 à 00:45
Merci pour cette source . trés efficace.
:)
Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
18 sept. 2006 à 21:05
Salut !

C'est mieux comme ça. On peut faire des recherches plus complexes.

@+
Cacophrène
sergevbserge Messages postés 6 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 22 février 2015
16 sept. 2006 à 11:26
Merci Cacophrène, super tuto !

Voila, c'est en ligne : recherche avec caractères de remplacement (système windows seulement "?" et "*"), quelques retouches de propreté... et ouverture des documents trouvés avec Word.
Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
15 sept. 2006 à 13:44
Salut !

Le problème avec End / Unload c'est un peu comme avec les variables objets. Il n'est pas indispensable d'écrire "Set MaVarObj = Nothing" en fin d'utilisation, mais c'est quand même plus propre.

Pour le tutoriel il est sur VBFrance (http://www.vbfrance.com/tutorial.aspx?ID=520).

Cordialement,
Cacophrène
sergevbserge Messages postés 6 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 22 février 2015
15 sept. 2006 à 10:46
Merci Cacophrène de t'être penché sur ce misérable code source.

Grande utilité que ton commentaire, j'en prends note. Je n'avais pas pensé au "FindLike", c'est vrai que c'est intéressant et je vais me pencher sur le sujet (ton tuto m'intéresse).

API !!! quand je reprends un vieux prog, c'est un véritable casse-tête pour moi donc j'évite.
Les couleurs : c'est modifié...
Les variables c'est fait aussi...
Je vais essayer d'appliquer la méthode Unload et ferme correctement... mais, entre nous, END aurait pu s'en charger non ?

Je remets en ligne dès que la recherche sur ressemblance fonctionne.

Cordialement,
Serge
Cacophrene Messages postés 251 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 4 mars 2008 1
15 sept. 2006 à 08:28
Salut !

Quelques petites remarques au sujet de ta source.

1. L'emploi de End. Il faut toujours éviter l'emploi du mot-clef End, qui correspond à un arrêt brutal du logiciel. L'événement Form_Unload survient juste avant le déchargement de la feuille. Si la valeur de Cancel n'est pas changée, la feuille sera déchargée et ton logiciel s'arrête convenablement (si tu as d'autres feuilles, en revanche, il faut les décharger préalablement via Unload). En utilisant End, tu mets aussi fin à ton application, mais d'une façon qui n'est pas propre. En fait, tu peux tout simplement supprimer ces trois lignes :

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

ou les remplacer par celles-ci (pour le coup c'est une question de goût) :

'L'utilisateur vient de demander la fermeture de l'application
Private Sub Form_QueryUnload(Cancel As Integer, Shift As Integer)
Dim lResult As Long
'Affichage d'un message de confirmation de la fermeture
lResult = MsgBox("Souhaitez-vous retourner sous Windows ?", _
vbInformation Or vbYesNo, "Fermeture")
'Annulation de la fermeture le cas échéant
If lResult vbNo Then Cancel -1
End Sub

Même remarque pour le bouton cmdExit. Le mot-clef End doit être remplacé par "Unload Me".


2. Par principe, toutes les variables devraient être déclarées. Ainsi, il vaut mieux remplacer la ligne :
Dim Cpt, Aa, A, Ax, I
par :
Dim Cpt As Integer, Aa As String, A As String, Ax As String, I As Integer
Peut-être les noms mériteraient-ils d'être un peu plus parlants ? Pour ma part "Aa", "A" et "Ax" ne m'aident pas beaucoup en première lecture (même si, au vu de leur utilisation, tout devient plus clair).


3. Pour la recherche des fichiers, il est possible (mais là ce n'est pas une obligation) de passer par trois API : FindFirstFile, FindNextFile et FindClose. Ce serait sans doute plus rapide, mais pas forcément plus lisible.


4. Côté visuel, je trouve le programme sympa, même si je préfère voir les contrôles Label et Picture de la même couleur que le fond de la fenêtre. Bon, c'est un détail.


5. Si par hasard certaines personnes se souviennent de certains mots mais pas de leur orthographe exacte, il pourrait être sympa de pouvoir utiliser des caractères génériques (mot-clef Like). C'est sûr qu'on peut aussi penser aux expressions rationnelles, mais c'est quand même plus long (à tout hasard, si ça t'intéresse, j'ai fait un tutoriel là-dessus).


Voilà. J'espère avoir pu être un peu utile.

Cordialement,
Cacophrène
Rejoignez-nous