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.

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    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
    1. 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
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > 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
    3. JSCH19 Messages postés 134 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       

      Merci d’avance laisse moi tester le code

      0
    4. JSCH19 Messages postés 134 Statut Membre > yg_be Messages postés 23437 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
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > 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