Ouverture de feuilles

Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016
-
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
Salut,



 J'ai un projet avec 9 feuilles qui est lancé par la procédure sub main. Je voudrais que dés l'ouverture, accéder à toutes les feuilles par une boucle du type de
for each feuille in forms
next feuille
Mais il ne trouve pas les feuilles non ouvertes. Comment puis-je faire ?



Vince

20 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
il te faut nommer les feuilles

genre un tableau...

Public Sub main() 
    Dim aFrms(1 To 9) As Form
    Set aFrms(1) =  Form1 
    Set aFrms(2) = Form_Splash 
    Set aFrms(3) = Form_Menu 
    Set aFrms(4) = Form_Patatra 
    '....
    Set aFrms(9) = Form_About 

    Dim i As Integer 
    For i = 1 To 9 
        aFrms(i).Show 
        Set aFrms(i) = Nothing 
    Next i 

    Erase aFrms() 
End Sub

<small> Coloration
syntaxique automatique [AFCK] </small>
       

for each ne pourra pas lister les fenêtres qui ne sont pas ouvertes
++
PCPT    [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Merci PCPT


Vince
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   En fait ça ne fait pas ce que je veux. Je voudrais être capable d'énumérer les feuilles même sans connaitre leur nom au départ et sans quelles soient chargées avant. C'est possible.


Vince
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
nop
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Je viens de trouver une méthode mais c'est lourd. Je liste les fichier.frm et dedans je recherche et extrait la ligne vb.name. Si qqn a mieux merci.


Vince
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
ouai lire l'exe en hexa... pas sûr qu'on puisse considérer çà comme une réelle méthode efficace

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Non je ne lis pas l'exe. Je pars des sources.

Je tente de faire un traducteur donc je lis mes sources, les analyses, extrait les chaines les colle dans un fichier texte (un ini pour l'instant).


Vince
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut,


Tant qu'à lire chaque fichier FRM, tu devrais lire le fichier VBP qui contient toutes les Forms que le projet utilise.

MPi
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Merci mais le vbp ne me permet pas de modifier les frm. Hors pour tout ce qui est contrôle il sagit de lecture seulement mais pour ce qui est des autres textes (msgbox et autre) il faut modifier le source de la frm ou bas ou cls.


Vince
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Bon j'y arrive toujours pas. Je voudrais ouvrir une feuille dont je connait le nom du fichier et le nom de la feuille mais je n'y arive pas. Sans doute un set qqc mais pas moyen.


Vince
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
on est d'accord, tu veux ouvrir une form du projet en cours?......

le problème est qu'on ne peut pas appeler une form par son nom "string", sauf si elle est déjà chargée.
je cherche de mon côté mais j'ai peu de doutes...

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   on est d'accord, tu veux ouvrir une form du projet en cours?......



Oui. Une form du projet en cours en connaissant son nom et son nom de fichier.

Merci PCPT mais je cherche depuis 2 jours. Je laisse tomber et je vais intégralement parser les fichiers... De l'extérieur. Il faut que j'avance.  En plus ce sera plus élégant.

Le plan B. Sans lui on ne serait rien.



Vince
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
Pour 9 Form, pas besoin de se prendre la tête, fais un tableau avec leur noms.


de toutes façons, une fois compilé, plus question de parser un fichier VBP ou d'esperer pouvoir compter sur VBE.Project

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   Non ce n'est pas compilé.  Et puis je veux sortir toutes chaines, celle des contrôles, menu, msgbox et autre et aprés un essais ça fait +/-500 lignes (encore quelques bug). Et j'ai d'autres projets que je veux traduire ou rendre traductible. Sans parler de ceux que j'ai trouvé sur internet (avec le source) et que le souhaiterais aussi traduire. De plus une fois l'architecture faite, je pense pouvoir le rendre facilement multilangage (je parle là des langages de programmation) et là j'ai encore plus de projet à traduire.


Vince
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
je trouve que c'est une excellente idée ^^

tu peux faire un Addin à VB...(donc une dll)
et pouvoir ainsi profiter des VBE.Project et autres objets de manipulation de code.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,




je trouve que c'est une excellente idée ^^
Merci

tu peux faire un Addin à VB...(donc une dll)
Mon rêve mais je ne sais absolument pas comment faire. Je ne suis qu'un peti joueur.

et pouvoir ainsi profiter des VBE.Project et autres objets de manipulation de code.
Sa je ne sais pas ce que c'est. Je cherche tout de suite mais ne te gêne pas pour m'en dire plus.



Vince
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
VBE.Project, tu le verras en faisant ton projet de complément/

C'est pas très très complexe a faire un Addin, tu verras...
pour tester, tu lances ton projet d'addin, et tu lances un VB a coté.

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Statut
Membre
Dernière intervention
30 mars 2016

Salut,



   J'ai fait nvx projet, puis Addin (comme modèle) mais pas de vbe.project.


Vince
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
49
salut,
c'est dans les déclarations...

voir ce que te propose VBInstance.
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
73
oui, si tu regardes le code de l'AddIn par défaut, tu as
Public VBInstance             As VBIDE.VBE

Renfield
Admin CodeS-SourceS- MVP Visual Basic