Trouver nombre de tableau dans une chaine de caractère

Résolu
JSCH19 Messages postés 134 Statut Membre -  
JSCH19 Messages postés 134 Statut Membre -
Sub test ()
Dim arrNames As Variant, x As Integer Dim i As Long
arrNames = Array("999999999.5")
For i = IBound (arrNames) To UBound (arrNames)
If (arrNames (i) =
".") Then
X= x + 1
End If
Next i
End Sub

Bonjour,
 

j’aimerais savoir s’il est possible de trouver le nombre de tableau (array) dans une chaine de caractère et se placer sur le dernier tableau.

Exemple:

myArray=array(“999999999.5”) 

si on separe a partir du point on aura deux tableau 

Arr(0)=“999999999”

arr(1)=“5”

il existe deux tableaux donc le dernier tableau est 1

ce que je cherche c’est que ma formule sépare la chaine de caractère où il y a les points “.” et determine combien de tableau qui existe dans cette chaine de caractère et se place sur la dernière.

A voir également:

1 réponse

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 

bonjour,

que doit précisément réaliser cette routine?

Si j'ai compris, elle doit "trouver" "5" dans "999999999.5".  Que doit-elle faire ensuite?

0
JSCH19 Messages postés 134 Statut Membre
 

Bonjour,

Elle doit séparer cette chaine a partir du “.” Et voir combien de array existe dans cette chaine 

pour myArray =array(“99999999.5”)

Si on utilise la fonction split(myArray,”.”)

on aura deux (2) tableaux 

1-“999999999”

2-“5”

alors arr(0)=“999999999”

arr(1)=“5”

le dernier tableau est 1

0
yg_be Messages postés 24281 Statut Contributeur 1 584 > JSCH19 Messages postés 134 Statut Membre
 

tu ne dis pas ce que la routine doit faire avec cela.

voici un exemple qui affiche ce que tu cherches:

Option Explicit

Sub test()
Dim ch As String, tabl, res As String, indx As Integer
ch = "999999999.5"
tabl = Split(ch, ".")
indx = UBound(tabl)
res = tabl(indx)
MsgBox CStr(indx) + ": " + res
End Sub
0
JSCH19 Messages postés 134 Statut Membre > yg_be Messages postés 24281 Statut Contributeur
 

Merci d’avance laisse moi tester le code

0
JSCH19 Messages postés 134 Statut Membre > yg_be Messages postés 24281 Statut Contributeur
 

je viens de tester le code le resultat est 1;5

qui n'est pas le resultat escompter je veux avoir le nombre de tableaux qui existe dans la chaine apres avoir separer la chaine a partir du point "."

je comptais avoir deux (2) comme resultat

puisque en separant  "999999999.5" on aura deux (2) tableaux 

0
yg_be Messages postés 24281 Statut Contributeur 1 584 > JSCH19 Messages postés 134 Statut Membre
 

ah, tu commences à expliquer le résultat  souhaité!

Private Sub test2()
Dim ch As String, tabl, nres As Integer
ch = "999999999.5"
tabl = Split(ch, ".")
nres = 1 + UBound(tabl) - LBound(tabl)
MsgBox CStr(nres)
End Sub
0