Calcul d'occurrences en VB6
Résolu/Fermé
Salouli
Messages postés
17
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
2 mai 2015
-
Modifié par Whismeril le 30/04/2015 à 17:57
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 1 mai 2015 à 17:45
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 - 1 mai 2015 à 17:45
A voir également:
- Calcul d'occurrences en VB6
- Calcul moyenne excel - Guide
- Vb6 - Télécharger - Divers Utilitaires
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel calcul surface terrain gratuit - Télécharger - Outils professionnels
3 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
Modifié par f894009 le 30/04/2015 à 19:49
Modifié par f894009 le 30/04/2015 à 19:49
Bonjour,
adaptez le debut pour avoir la chaine de votre fichier
ajoutez dans projet, references: microsoft scripting runtime
si vraiment beaucoup de caracteres (+500) dans chaine, il y a moyen de ne faire que deux boucles de comptage au lieu de trois
adaptez le debut pour avoir la chaine de votre fichier
ajoutez dans projet, references: microsoft scripting runtime
Private Sub Command1_Click() Dim Chaine, Nblettre As Long, lettre As String Dim obn As Object, cle As String, cles, k As Long, n As Long Chaine = "aAbBcC" Chaine = UCase(Chaine) Set obn = CreateObject("scripting.dictionary") For x = 1 To Len(Chaine) cle = Mid(Chaine, x, 1) If Not obn.Exists(cle) Then obn.Add cle, 1 Next x cles = obn.keys n = obn.Count For k = 0 To n - 1 lettre = cles(k) Nblettre = 0 For x = 1 To Len(Chaine) If Mid(Chaine, x, 1) = lettre Then Nblettre = Nblettre + 1 End If Next x MsgBox "le fichier contient la lettre " & lettre & " " & Nblettre & " fois ", vbInformation, vbOKOnly Next k End Sub
si vraiment beaucoup de caracteres (+500) dans chaine, il y a moyen de ne faire que deux boucles de comptage au lieu de trois
Private Sub Command2_Click() Set mondico = CreateObject("Scripting.Dictionary") Chaine = "aAbBcC" Chaine = UCase(Chaine) For x = 1 To Len(Chaine) cle = Mid(Chaine, x, 1) mondico(cle) = mondico(cle) + 1 Next x TLettre = mondico.Keys TNblettre = mondico.Items For x = 0 To mondico.Count - 1 MsgBox "le fichier contient la lettre " & TLettre(x) & " " & TNblettre(x) & " fois ", vbInformation, vbOKOnly Next x End Sub
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
30 avril 2015 à 23:34
30 avril 2015 à 23:34
Bonsoir Salouli, fnuméros, bonsoir le forum,
Peut-être comme ça :
Peut-être comme ça :
Option Explicit Private Sub command1_Click() Dim chaine As String 'ma chaine de caractères Dim I As Integer Dim J As Integer Dim TC(0 To 255) 'tableau des caractères On Error GoTo erreur Dim MyFile As String MyFile = App.Path & "\hello.txt" 'le fichier texte Open MyFile For Input As #1 Line Input #1, chaine Close #1 Text1.Text = chaine For i = 1 To Len(chaine) For J = 0 To 255 If Mid(chaine, i, 1) = Chr(J) Then TC(J) = TC(J) + 1 Exit For End If Next J Next i For J = 0 To 255 Cells(J + 1, 8).Value = Chr(J) 'renvoie dans la colonne H le caractère (à adapter) Cells(J + 1, 9).Value = TC(J) 'renvoie dans la colonne G le nombre de caractères (à adapter) Next J ' ' ' If Mid(chaine, i, 1) = "a" Or Mid(chaine, i, 1) = "A" Then ' nombredea = nombredea + 1 ' End If ' Next i 'MsgBox "le fichier contient la lettre A " & nombredea & " fois ", vbInformation, vbOKOnly Exit Sub erreur: MsgBox "Fichier introuvable", vbExclamation End Sub
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
1 mai 2015 à 08:12
1 mai 2015 à 08:12
Bonjour,
Pas mal
C'est duVB6.0 pas du VBA excel
Pas mal
C'est duVB6.0 pas du VBA excel
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
>
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 mai 2015 à 12:12
1 mai 2015 à 12:12
Bonjour le fil, bonjour le forum,
J'avoue que je ne ne sais pas ce qu'est le VB6 mais le code proposé ressemblait tellement à du VBA que je me suis lancé...
Quelle est la différence ?
J'avoue que je ne ne sais pas ce qu'est le VB6 mais le code proposé ressemblait tellement à du VBA que je me suis lancé...
Quelle est la différence ?
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
>
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
1 mai 2015 à 14:44
1 mai 2015 à 14:44
Re,
VB6.0 "ancetre" de VB.Net
Assez semblable au niveau des instructions sauf ce type purement excel:Cells(J + 1, 8).Value, pour les controls pas mal differences en proprietes avec des + et des - par rapport a excel , creation d'executable.
exemple des differences:
excel:
VB.Net
VB6.0 "ancetre" de VB.Net
Assez semblable au niveau des instructions sauf ce type purement excel:Cells(J + 1, 8).Value, pour les controls pas mal differences en proprietes avec des + et des - par rapport a excel , creation d'executable.
exemple des differences:
Private Sub command1_Click()significatif du VB6.0
excel:
Sub Bouton1_Cliquer()
Private Sub CommandButton1_Click()
VB.Net
Private Sub Button1_Click_2
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
>
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
Modifié par ThauTheme le 1/05/2015 à 17:45
Modifié par ThauTheme le 1/05/2015 à 17:45
Bonjour le fil, bonjour le forum,
Merci Fnuméros pour ces précisions !
Merci Fnuméros pour ces précisions !
Salouli
Messages postés
17
Date d'inscription
mardi 26 mars 2013
Statut
Membre
Dernière intervention
2 mai 2015
1 mai 2015 à 16:48
1 mai 2015 à 16:48
Rebonjour !
Merci beaucoup les amis :)) vos réponses me sont tellement riches et utiles .
Merci beaucoup les amis :)) vos réponses me sont tellement riches et utiles .