Trouver nombre de tableau dans une chaine de caractère

Résolu
JSCH19 Messages postés 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023 - 9 juin 2023 à 17:24
JSCH19 Messages postés 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023 - 12 juin 2023 à 04:39
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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
9 juin 2023 à 19:51

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 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023
Modifié le 9 juin 2023 à 20:02

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > JSCH19 Messages postés 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023
9 juin 2023 à 20:14

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 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
9 juin 2023 à 20:17

Merci d’avance laisse moi tester le code

0
JSCH19 Messages postés 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023 > yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
9 juin 2023 à 20:28

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 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > JSCH19 Messages postés 129 Date d'inscription mercredi 30 octobre 2019 Statut Membre Dernière intervention 22 juin 2023
10 juin 2023 à 09:31

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