begin process at 2010 02 10 01:36:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Trouver une instruction VBA


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trouver une instruction VBA

jeudi 22 février 2007 à 12:54:53 | Trouver une instruction VBA

ZANUS

Bonjour à tous

A vrai dire, je poste ce message bien qu'a priori, il ne relève pas véritablement de la programmation. Je vous expose donc ma requête qui n'est pas trop simple à expliquer. Je me demande comment on peut retrouver une isntruction VBA. J'ai divers fichiers excel. Ils sont tous indépendants les uns des autres. Chacun de ses fichiers contient une macro.

Par exemple, le fichier bidule.xls contient ce code:
Range("A1:L1").Select
'Sélectionner la plage A1:L1
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, Orientation:=xlLeftToRight
        'Trier les valeurs de la ligne par ordre croissant

Le fichier machin.xls contient le code suivant:
............
If Cells(i, j + 1) = Cells(1, 1) Then
Cells(i, j + 1).Select
MsgBox "Gagné!"
Else
.......
 Les codes en eux-même n'ont aucune importance. C'est la raison pour laquelle, je ne donne que des morceaux et je n'expose pas l'objectif de ces macros.Comme je le spécifiais, je cherche à retrouver une instruction. Par exemple, je veux retrouver tous les codes ayant l'instruction Msgbox ou Selection.SortKey.Avec l'explorateur et à l'aide de Ctrl+F, je peux trouver tous les fichiers ayant tel ou tel texte ou encore tel nombre, à condition qu'il se trouve dans une cellule.Par exemple, si mon fichier truc.xls a en B4 le texte Plaisir, je tape Ctrl+F. Une petite fenêtre qui s'appelle Rechercher en utilisant le(s) critère(s) ci-dessous et dans le champ Un mot ou une pharse dans le fichier:"Plaisir", j'obtiendrais la liste de tous les fichiers contenant le mot plaisir.
Maintenant, si je veux rechercher non pas un texte se trouvant dans une cellule mais un code ou une instruction, là l'explorateur ne m'affiche aucun résultat et pour cause, les codes par définition sont dans l'éditeur de macros et donc cachés en quelque sorte.Par exemple, si je tape sort ou key je ne retrouve pas le fichier bidule.xls. Ma question est donc: "Existe-t-il un moyen pour retrouver une instruction parmi tous les fichiers sans les ouvrir bien entendu un par un et sans examiner à la loupe chacune des macros?
Pardon pour la longueur du post. J'espère avoir été clair en tout cas. Merci beaucoup pour vos conseils.Je parle bien de VBA et non de VB6 ou autre. Bonne fin de journée.
jeudi 22 février 2007 à 13:38:03 | Re : Trouver une instruction VBA

jmfmarques

Membre Club

En d'autres termes : tu veux faire en faisant mais sans faire.
Madame Soleil, alors ...
L'as-tu consultée ?
Une macro, pour rappel, peut-être inscrite dans un module et une autre macro peut appeler ce module.
Le module en cause peut lui-même appeler un autre module.
Il y a enfin des macros non éditables.
Quel est donc le but de ta "manoeuvre" ?

jeudi 22 février 2007 à 15:53:15 | Re : Trouver une instruction VBA

ZANUS

Bonjour tu connais?

Appeler un module sans le connaître? Le but de la manoeuvre est tout simplement comme je l'ai dit de retrouver tous les fichiers avec une macro contenant telle ou telle instruction, rien d'autre. T'as déjà entendu parler de l'explorateur? Quand t'as des dizaines de fichiers,essaies de te souvenir de chacun d'eux et en particulier avec des macros.Avant de répondre par une ironie mal placée, il faut également lire les posts dans leur intégralité. Su tu lis mes post qui sont d'ailleurs relavtivement peu nombreux, tu constateras que je n'ai jamais rien exigé ni demandé qu'on fasse à ma place.Alors tes commentaires, tu peux te les garder.Je me suis permis une fois une petite blagounette, rien de plus.J'ai demandé des conseils et non exigé quelque chose.
jeudi 22 février 2007 à 16:00:32 | Re : Trouver une instruction VBA

jmfmarques

Membre Club
Oui...
Relis bien ma réponse, également...
et tu verras que tu peux avoir des macros qui en utilisent d'autres et que ces dernières peuvent à la fois être cachées et en utiliser d'autres elles-mêmes.
jeudi 22 février 2007 à 18:55:54 | Re : Trouver une instruction VBA

jmfmarques

Membre Club

Bonsoir Zanus,

J'ai maintenant un peu plus de temps pour t'expliquer plus précisément certains aspects.

Je ne connais pas VBA, mais j'imagine bien volontiers qu'il est au moins aussi performant que l'était, entre autres, Word Basic (bien longtemps avant l'apparitopn de VBA, donc).

Voici donc un mécanisme que nous mettions en place pour des applications distribuées dans de nombreux postes à l'étanger et éviter d'avoir sans cesse à intervenir pour réparer des dégâts faits par l'intervention, loin de France, de bidouilleurs divers qui croyaient apporter des "améliorations".
1) toutes les macros et modules esseniels : cachés et non éditable
2) travail en "miroir" (le document de base n'est pas celui de travail)
3) à l'ouverture du miroir (dont le nom est transformé) : ce nom est mis en variable publique dans un des modules innaccessible
4) depuis le document de travail, la seule macro accessible appelle toujours la même routine (appelons-la toto) du module et l'accompagne d'arguments, dont un chiffre.
Cette routine passe à une autre routine ou fonctions (selon le cas) : tous les arguments non vides, sauf le chiffre concerné, qui vient en dernier.
Comment se sert-on de ce chiffre ? en le retranchant du total des valeurs ascii des lettres composant le nom (variable publique en ce qui le concerne). Imaginons que cette soustraction donne 5 ... Un select case nous fera connaître quelle est la fonction ou routine à exécuter.
Le développeur n'a plus qu'à calculer cet argument à passer à toto en fonction de la routine ou fonctions que toto appellera à son tour.

Si un candodat bidouilleur tentait de lancer directement l'original, en admettant qu'il ait pu passer les freins de sécurité également assez complexes, .... eh bien... il se "cassait royalement les dents" puisque la fameuse soustraction, faite sur le total des valeurs ascii d'un nom différent (le nom debase) avait 99,99 % de chances de l'envoyer dans le Case Else du Select Case exposé plus haut... et je préfère ne pas te dire ce qu'il se passait alors...

Ce n'est là, ZANUS, qu'un seul des aspects qui devraient te permettre de comprendre ce que je voulais dire.

 

jeudi 22 février 2007 à 22:50:18 | Re : Trouver une instruction VBA

MPi

Zanus, je ne pense pas que tu puisses y arriver sans créer un petit programme qui ouvrira chaque classeur Excel et ira lire les bouts de codes de chaque feuille, classe, module,...

J'ai commencé quelque chose en ce sens, mais c'est encore à l'état d'embryon...
Si tu regardes du côté de VBE, ça pourrait te donner des pistes.

MPi
vendredi 23 février 2007 à 11:30:24 | Re : Trouver une instruction VBA

ZANUS

Bonjour   MPI et jmfmarques et merci pour votre contribution. Lorsque j'aurai un moment, j'étudierais ça avec bienveillance. Bon week-end à tous les deux.


Cette discussion est classée dans : fichier, vba, fichiers, instruction, retrouver


Répondre à ce message

Sujets en rapport avec ce message

[VBA Excel] Fichier d'aide [ par tof008 ] Bonjour à tous! J'aurais voulu savoir s'il était possible d'attacher un fichier d'aide à des fichiers Excel. Ceci me serait utile car j'ai crée des ma dezipper plusieurs fichiers zip en vba [ par crucho81 ] Bonjour a tousje cherche a dezipper un fichier bien particulier dans plusieur fichier zip.Mes fichiers zip : 12345.ZIP  AAAAA.ZIP    BBBBB.ZIP  ...... Instruction dans VBA [ par Harlem971 ] Bonjour, Je souhaite créer un fichier contenant des données numériques et textes contenues dans des feuilles Excel. Pour cela j'utilise l'instruction VBA [ par vincent78400 ] Bonjour tout le monde, Je suis débutant dans VBA et j'ai besoin de votre aide, svp: Je souhaite compiler deux fichiers Excel dans un seul fichier où i Importation de fichiers texte avec VBA [ par nairolf_25 ] Please aidez moij'ai un fichier texte provenant d'une base de données, et j'aimerais l'importer dans Access, l'exporter sous forme d'un autre fichier lien hypertexte dynamique dans excel avec VBA [ par manda54 ] Bonjour à touts et à toutes, Débutant dans VBA, pourriez me dépanner? J'ai un fichier excel avec un menu qui pointe vers d'autres fichiers excel qui s Automatiser des liens hypertextes excel avec VBA [ par manda54 ] Bonjour à touts et à toutes, Débutant dans VBA, pourriez me dépanner? J'ai un fichier excel avec un menu qui pointe vers d'autres fichiers excel qui s Propriete Fichier et dossier [ par GOTOJEFE ] Mon probleme est la suivante:Je dispose de 3 repertoires Un repertoire de travail (Travail) Un repertoire des fichiers valides (Valide) Un repertoi URGENT : copies de fichiers [ par loic38760 ] Bonjour à tous,Je souhaite effectuer une opération sous Access en VBA.Je veux que lorsque je clique sur un bouton d'un formulaire Acess, une fenetre d VBA : filtrage de données entre plusieurs fichiers [ par lagoutte_arnaud ] Salut,je suis débutant dans VBA, et je dois résoudre un petit problème.j'ai un fichier référence, et un fichier secondaire. je dois supprimer automati


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales