Réponse acceptée !
OK, je ne savais pas que tu es débutant.
Mon exemple est fait avec VB6. Je ne sais même pas si tu as aussi cette version ou VB.net ou quoi?
Si tu as VB6 tu peux:
1. Ouvrir un nouveau projet
2. Ajouter un bouton "Command1" sur le "Form1"
3. Ouvre la fenêtre code du Form1
4. Efface tout le code (si il y a quelque chose)
5. Copier le code ci-dessous et le coller dans le Form1
6. Exécuter le projet et cliquer sur le bouton pour tester
' Code à copier et coller
'----------------------------------
Option Explicit
Private Sub RechercheSuite(ByVal MonNombre As String)
Dim ValeurTemp As Single 'Variable temporaire pour déterminer le séparateur
'numérique du système (point ou virgule)
Dim sSep As String 'Séparateur numérique du système
Dim lPos As Long 'Position du séparateur dans la variable ValeurTest
Dim sDecimale As String 'Partie décimale de la valeur à tester
Dim i As Long 'Compteur de la boucle 1
Dim j As Long 'Compteur de la boucle 2
Dim sBloc As String 'Bloc de chiffre à comparer
Dim sExtrait As String 'Bloc suivant à comparer avec sBloc
Dim bIdentique As Boolean 'Est-ce que la comparaison est identique ?
Dim lCompteur As Long 'Compte le nombre de comparaison
'Détermine quel est le séparateur numérique du système
'---------------------------------------------
ValeurTemp = (1 / 10)
sSep = Mid(CStr(ValeurTemp), 2, 1)
'---------------------------------------------
'Recherche la position du séparateur numérique
lPos = InStr(1, CStr(MonNombre), sSep)
If lPos > 0 Then
'Extrait que la partie décimale
sDecimale = Mid(CStr(MonNombre), lPos + 1)
'Fait une boucle du nombre de chiffre
For i = 1 To Len(sDecimale)
sBloc = Left(sDecimale, i)
lCompteur = 0
bIdentique = True
'Compare par bloc avec la suite pour déterminer si c'est identique
For j = (i + 1) To Len(sDecimale) Step i
sExtrait = Mid(sDecimale, j, i)
If Len(sExtrait) = Len(sBloc) Then
lCompteur = lCompteur + 1
If sBloc <> Mid(sDecimale, j, i) Then bIdentique = False
End If
If bIdentique = False Then Exit For
Next j
If lCompteur = 0 Then bIdentique = False
If bIdentique = True Then Exit For
Next i
If bIdentique = True Then
MsgBox "La suite de chiffre est: " & sBloc & vbCrLf & _
"Le nombre de chiffres composant est: " & Len(sBloc), vbInformation
Else
MsgBox "Impossible de déterminer une suite logique.", vbExclamation
End If
Else
MsgBox "C'est un nombre entier. Il n'y a pas de séparateur.", vbExclamation
End If
End Sub
Private Sub Command1_Click()
Call RechercheSuite(InputBox("Entrer le chiffre à tester:", "Chiffre", "0.35353535353535353535"))
End Sub