PERMET DE RETROUVER DES FICHIERS WORD CONTENANT UN GROUPE DE MOTS
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 2008
-
15 sept. 2006 à 08:28
devsurf
Messages postés148Date d'inscriptiondimanche 13 octobre 2002StatutMembreDernière intervention13 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.
devsurf
Messages postés148Date d'inscriptiondimanche 13 octobre 2002StatutMembreDernière intervention13 novembre 2008 21 mai 2007 à 00:45
Merci pour cette source . trés efficace.
:)
Cacophrene
Messages postés251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 18 sept. 2006 à 21:05
Salut !
C'est mieux comme ça. On peut faire des recherches plus complexes.
@+
Cacophrène
sergevbserge
Messages postés6Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention22 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és251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 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.
sergevbserge
Messages postés6Date d'inscriptiondimanche 26 mars 2006StatutMembreDernière intervention22 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és251Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention 4 mars 20081 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).
21 mai 2007 à 00:45
:)
18 sept. 2006 à 21:05
C'est mieux comme ça. On peut faire des recherches plus complexes.
@+
Cacophrène
16 sept. 2006 à 11:26
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.
15 sept. 2006 à 13:44
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
15 sept. 2006 à 10:46
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
15 sept. 2006 à 08:28
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