Convertir du Qbasic vers VBA

morest

XLDnaute Occasionnel
Salut à tous,

J'ai un logiciel créer sous QBasic que je souhaite transposer en VBA car dans l'état actuelle je comprends rien au code QBasic et ça à l'air bien horrible à comprendre. On dirai du Fortran ou un truc du genre. Plus je le regarde et plus ça me répugne :).

Bref quelqu'un aurait par hasard une solution pour résoudre mon problème? Merci d'avance pour tout contribution.

Bonne soirée.
 

morest

XLDnaute Occasionnel
Re : Convertir du Qbasic vers VBA

Salut Fhoest,

Je te joins le fichier avec l'userform demandée. Appellé Userform1, j'espère que c'est ce dont tu parlais.

Cijoint.fr - Service gratuit de dépôt de fichiers

En vba je suis pas une pointure c'est un fait :). En revanche en ce qui concerne les userform calcul extra macro pris en charge par des macros intéragissant avec les feuilles excel je me debrouille un petit peu. Le problème que j'ai pour créer les macro que tu avait mis en vert dans le module1, mon souci est pas leur création mais plutôt les liaisons à faire avec le code du module. La j'avoue je suis totalement largué.

Les calculs intra macro j'ai vraiment du mal.

A très bientôt.
 

fhoest

XLDnaute Accro
Re : Convertir du Qbasic vers VBA

Salut,
on va commencer petit a petit a faire une intégration du userform1 dans une macro,plus particulièrement appeler sub dans un module,
pour ne pas perturber le programme on travaillera par petit bout en parallèle au programme,
pour commencer tu as des propriété attribuée a chaque objet créer dans vba "affichage fenetre propriété.
tu clic sur le userform1 dans la fenêtre Propriété le name "montest" sans guillemet bien sur.
la propriété caption tu inscrit "ceci est mon caption".
ensuite double click sur le commandbutton1 tu entre alors dans la procédure événementielle du bouton_click
on va alors changer le texte de la textbox1,pour ça on inscrit textbox1.text="je change le text"
la il faut mettre les guillemets car ceci est du texte, si tu veux intégrer une variable
textbox1.text="je change le text" & dat ru peux voir que la variable n'est donc pas entre guillemet car ce n'est pas du texte,
ensuite va faire la meme chose avec le commandbutton2
on clic sur maintenant montest double clic sur commandbutton2
dans l'événement click
on inscrit call fin , ceci est l'appelle de la procedure sub fin qui se trouve dans le module 1
le fait de l'appeler tu va alors aller lire toutes les lignes et instructions de cette procédure fin.
a retenir les objets on des propriétés et c'est avec ces propriétés que l'on peut changer les objets appeler contrôle.
enfin pour finir avec ça:
dans le module1 sub test
entre ces deux lignes:
Information_general.Show

Call SOUS_Prog1
tu inscrit : montest.show 'ceci veut dire montrer le userform montest chaque bouton ou autre auquel tu auras attribué un code correct s'executera:
a toi de tester .
si ok tu aura integrer ton premier userform" montest" avec des macros
A+
 

morest

XLDnaute Occasionnel
Re : Convertir du Qbasic vers VBA

Re Fhoest,

Merci pour tes explications, voici ce que ça donne mais je pense ne pas avoir fais exactement ce que tu attendais.

Cijoint.fr - Service gratuit de dépôt de fichiers

Les explications étaient pourtant pertinentes. Je me suis mal exprimé à propos de mes limites sur excel. Les userforms je sais à peu près m'en servir m'en servir, je sais également bien gérer les interactions directement sur feuille grâce aux actives worksheet. Je sais faire des boucles de calcul.

Mais je fais toujours ça en m'appuyant sur des feuilles excel, c'est pour ca quand reprenant ce que tu fais c'est très difficil pour moi mais pas impossible^^.

Par exemple, j'ai l'impression que tu utilise une sorte de bibliothèque pour convertir le logiciel et bien la je suis complètement perdu c'est très pointu à mon avis^^

Je regardé de manière plus approfondi demain pour voir les points sur lesquels je pourrait avancer. J'en doute un peu mais ça doit se trouvé je vais être optimiste dans un premier temps ;).

A+
 

fhoest

XLDnaute Accro
Re : Convertir du Qbasic vers VBA

Bonjour,
Tu as supprimer le calendrier de ce fait erreur sur le chargement du userform "Information_general" ,
tu as également oublier la commande .show dans le module1 sub test
entre les deux lignes citez plus haut.
en fait je n'utilise pas une bibliothèque,mais des tableaux exactement comme le fichier à l'origine.
tu peux avoir des tableaux a une seul colonne et d'autres a plusieurs colonne et plusieurs lignes
exemple:
dim montableau(99) as string
c'est un tableau de 100 lignes qui peut contenir des caractères le 0 compte
dim tableau(2,99) = tableau de 3 colonnes et de 100 lignes
si tu reste dans la même procedure tu utilise dim
si tu ne reste pas dans le même module tu utilise public
lorsque tu vois dans un code :
option explicit
cela veut dire que toutes les variables doivent être déclarer ( en sub ou en public)
prenont le haut du code du module 1
tu peux remarquer que j'ai mis le option explicit ,
des variables en public et d'autres dim ,
un autre exemple :
sub test1()
dim compteur as byte
for i = 1 to 10
compteur=i
msgbox compteur
next
end sub
lorsque tu as terminé le sub compteur=10
mais...j'ai déclarer dans le sub
a la suite tu met:
sub test2()
msgbox compteur
end sub
tu remarque que compteur =0 ou rien
tu reprend le même code sauf que tu déclare haut dessus du premier module
public compteur as byte tu vire "dim compteur as byte" dans le premier sub
et tu test
A+
 

morest

XLDnaute Occasionnel
Re : Convertir du Qbasic vers VBA

Re Fhoest,

Tout ces tableaux, pour simplifier, ne pouvons-nous pas les intégrer dans une feuille de calcul? Honettement même si tes explications sont précises je suis totalement largué avec ces histoires de tableau intra-macro et de compteur :p.

Bonne soirée
 

fhoest

XLDnaute Accro
Re : Convertir du Qbasic vers VBA

bien sur qu'on peut les intégrer a une feuille excel ,
c'est pourquoi a un moment donnée, je te proposé de construire une base de donnée,pour simplifier le remplissage des valeurs,
au lieu de mettre dans le userform caracteristique
Code:
Private Sub TextBox1_Change()
D(V) = TextBox1.Text
End Sub
on construit une base de donnée dans une feuille"caracteristique" avec une colonne "DIAMETRE DU MOBILE en mm" en U par exemple
et on met ce code:
Code:
Private Sub TextBox1_Change()
range("U")& V+2 = TextBox1.Text
End Sub
donc dans U1 titre de colonne "DIAMETRE DU MOBILE en mm"
pour V=0 range("U")& V+2 = U2=textbox1.text
voilà pour le petit exemple
A+:eek:
 

morest

XLDnaute Occasionnel
Re : Convertir du Qbasic vers VBA

Salut Fhoest,

J'ai pas pu revenir sur le forum depuis deux jour pas internet la où j'étais. Et oui il y a des endroit en France qui n'ont pas encore internet dans les hotel.... J'aime pas bien la Bretagne :p. Du coup je me suis penché légèrement sur ce que tu m'as mis mais j'arrive pas à le faire tourner :(. J'ai un mal fou à comprendre l'architecture du programme :s.

A bientôt.
 

fhoest

XLDnaute Accro
Re : Convertir du Qbasic vers VBA

Bonjour,
je souffle un peu sur le programme car il est assez complexe a transformer voici une version avec base de donnée,peut etre en passant par la on trouvera un chemin de deblocage de la situation,moi meme j'ai du mal a comprendre le programme étant donner que je ne sais pas exactement son utilisation il est difficile de le transformer pour aboutir a quelque chose qui pourrait te convenir.
Cijoint.fr - Service gratuit de dépôt de fichiers

Au plaisir.
 

morest

XLDnaute Occasionnel
Re : Convertir du Qbasic vers VBA

Salut Fhoest,

Merci pour ton aide j'ai bien cru que tu m'avais abandonné même si j'aurais compris :). Moi même je suis en plein désaroie face a ce problème^^.

Je regarde tout ca et je te répond en détail un poil plus tard ;) . Bonne journée.
 

Discussions similaires

Réponses
5
Affichages
379
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 512
Messages
2 089 184
Membres
104 059
dernier inscrit
@kheops7991