Trouver nombre de tableau dans une chaine de caractère

Résolu
JSCH19 Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   -  
JSCH19 Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   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 128 Date d'inscription   Statut Membre Dernière intervention  
 

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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > JSCH19 Messages postés 128 Date d'inscription   Statut Membre Dernière intervention  
 

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 128 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

Merci d’avance laisse moi tester le code

0
JSCH19 Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 

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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > JSCH19 Messages postés 128 Date d'inscription   Statut Membre Dernière intervention  
 

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