Aide visual basic

Fermé
asian style Messages postés 5 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 30 avril 2007 - 30 avril 2007 à 21:04
 peterbet - 26 août 2007 à 20:10
bonjour, je suis en train de creer un programm avec visual basic6 qui permet de transformer des series de chiffres en lettres. jai creer deux text box l'un est text1 et lautre est text2. et jai aussi creer une commande Command1. dans le code du command1 jai ecrit " if text1.text=1 then
text2.text="a"
elseif text1.text=2 then
text2.text="b"
end if
cela marche, quand je rentre le chiffre 1 dans le text box 1 et ke je click sur la comande1 la lettre "a" apparait dans le text box2. mai le problem est ke kan je rentre le chiffre 2 a la suite du 1 je n'obtien plus rien.je pense ke lordi ne reconnai ni un 1 ni un 2 mai un "12"..donc le code que jai erit ne me permet que de transformer un chiffre a la fois, eske vous pouvez maider a ecrire un code qui peut me permettre de tranformer une serie de chiffre et non pa chiffre pa chiffre. par exemple, je rentre 1-2-3-4 et j'obtiens "a-b-c-d" merci pour votre aide, je vous remerci davance.
A voir également:

5 réponses

Tidodo Messages postés 143 Date d'inscription dimanche 22 avril 2007 Statut Membre Dernière intervention 26 mars 2008 21
1 mai 2007 à 15:21
Private Sub Command1_Click()

Dim i As Integer

Lettre = Array("a", "b", "c", "d")

Nb_car = Len(Text1.Text)


For i = 1 To Nb_car

j = Text1.Text(i)


Text2.Text = Lettre(j - 1)
Next



End Sub


mais Text1.TExt(i) ne marche pas , essaye de trouver moi je trouve pas
0
j'ai réaliser cette fonction pour vous :
-----------------------------------------------
Function Cryptage(Texte As String)
TableEntree = Array("1", "2", "3", "4", "5", "6", "7", "8", "9") 'elements a crypté
TableSortie = Array("a", "b", "c", "d", "e", "f", "g", "h", "i") 'leurs equivalents

Dim sortie As String ' chaine de sortie
For i = 1 To Len(Texte)
For j = 0 To 8 'nombre darguments en TableEntree
Dim temp As String
temp = Mid(Texte, i, 1)
If TableEntree(j) = Mid(Texte, i, 1) Then
temp = TableSortie(j)
Exit For
End If
Next j
sortie = sortie + temp
Next i
Cryptage = sortie
End Function

exemple d'etulisation :

Text2.Text = Cryptage(Text1.Text)
0
Mr.ibourk, merci de m'avoir ecrit ce code..sa va parraitre bete, mai je ne sai pa ou je sui suposer placer ce code, et c ke je doi faire avec. pouvez vous me donner kelkes explications et des information que vous juger necessaire? sachez ke je sui novice en visaul basic 6..je vous remecie..
0
la fonction doit etre placcez dan un module

Menu Projet -->Ajouter un module --> ouvrir

une fenetre de code vide s'ouvre , placcer ce code dedans
----------------------------------------------------------------------

Function Cryptage(Texte As String)
TableEntree = Array("1", "2", "3", "4", "5", "6", "7", "8", "9") 'elements a crypté
TableSortie = Array("a", "b", "c", "d", "e", "f", "g", "h", "i") 'leurs equivalents
Dim sortie As String ' chaine de sortie
For i = 1 To Len(Texte)
For j = 0 To 8 'nombre darguments en TableEntree
Dim temp As String
temp = Mid(Texte, i, 1)
If TableEntree(j) = Mid(Texte, i, 1) Then
temp = TableSortie(j)
Exit For
End If
Next j
sortie = sortie + temp
Next i
Cryptage = sortie
End Function

------------------------------------------------------------------------

et revient a votre form ou il y a le button et les zonnes de text

et aissay sette exemple
--------------------------------
Private Sub Command1_Click()

Text2.Text = Cryptage(Text1.Text)

End Sub

--------------------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J’ai créé un fichier de traitement des données pour exemple Traitements.XLS
Ce fichier comporte 3 onglets :

1 traitement
2 base chargée
3 Menu et config

Dans l’onglet : Menu et Config

Un champ nommé ConfigZomm paramêtre du Zomm
Un champ nommé RepProgram Répertoire programme
Un champ nommé RepDB Répertoire de travail
Un champ nommé FichierDB Fichier base de données

Sous le répertoire C:\Programme\bases\ j’ai 3 bases de données DB-essai1.Xls, DB-Essai2.xls et Db-essai3.XLS

La validation des changements permet de la prise en compte des données entrées dans Auto_open

Dans l’application Traitement.xls , je clique sur un bouton macro afin de charger la base entrée (DB-Essai1.xls)
Cette base étant chargée, la zone sélectionnée est collée dans l’onglet « Base chargée » du fichier Traitement.xls
Une fois la commande exécutée je n’ai plus besoin du fichier DB-essai1.xls je veux donc le fermer.

Voila comment est écrite la macro

Dim Rep As Variant
Dim Repfichier As Variant
Dim VDB As Variant
Dim FichierDB As Variant
Dim Cheminfich
Rep = Range("RepDB")
VDB = Range("FichierDB")
Cheminfich1 = Rep & "\" & VDB Jusque là pas de probléme
ActiveWorkbook.PrecisionAsDisplayed = False
Workbooks.Open Filename:=Cheminfich1
Windows("Traitement.xls").Activate
ActiveWorkbook.PrecisionAsDisplayed = False
Workbooks.Open Filename:=Cheminfich1
Application.Goto Reference:="R1C1"
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Windows("traitement.xls").Activate
Sheets("Base chargée").Select
Application.Goto Reference:="ChampG8"
ActiveSheet.Paste A ce stade toujours aucun probléme

Je voudrai maintenant activer la fenêtre du fichier .xls chargé (en l’occurrence DB-Essai1.xls) afin de la fermer.

Si j’écris : Windows("DB-Essai1.xls").Activate
Puis : Workbook.close le programme fonctionne bien et DB-Essai.xls est fermé et ne reste que Traitement.xls
Le seul problème c’est DB-Essai1.xls ne peut être figé si je rentre dans le champ fichierDB : DB-essai3.xls, cela ne marche pas.
DB-essai1.xls est indiqué en clair dans le champ ayant pour nom FichierDB dont la variable VDB prend la valeur indiquer dans ce champ.

La question : Comment écrire la fonction windows activate pour un fichier lu dans la donnée variable (VDB) ?

Merci por vos solutions</gras>
0