wiranata
Messages postés3Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention31 juillet 2003
-
30 juil. 2003 à 18:34
wiranata
Messages postés3Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention31 juillet 2003
-
31 juil. 2003 à 09:16
slt !
je cherche une fonction VB permettant de retourner un integer du nb d'un caractère défini dans une chaîne donnée ?
exple : combien y a-t-il de ';' dans une chaîne issue d'un fichier CSV (pr savoir combien de colonnes contient chaque ligne) ?
Je n'ai pas de trouvé dans la classe Strings....pourtant le besoin me parait assez commun...
ps : le but étant de ne pas compter mes ';' avec des InStr...
Si qqn connait une telle fonction, ce serait cool...c'est comme souvent assez urgent... ;o(
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 30 juil. 2003 à 23:27
Bonsoir
Combien de points-virgules dans Chaîne ?
Pas une fonction mais presque :
On découpe la chaîne (Split) avec comme séparateur le ;
le résultat est dans un tableau (de base zéro)
On compte le nombre de lignes - 1 du tableau
et voilu !
pcpunch
Messages postés1243Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention18 février 20195 31 juil. 2003 à 02:41
voila ta fonction !!! c trop simple
Public Function CombienDe(Caractére As String, Chaine As String)
Dim tmp As Integer
tmp = 0
For i = 1 To Len(Chaine)If Mid(Chaine, i, Len(Caractére)) Caractére Then tmp tmp + 1
Next i
CombienDe = tmp
End Function
pour l utiliser
Dim MaChaine As String
MaChaine = "voila;; ; ; dix des points; ;virgules ;;;;"
MsgBox CombienDe(";", MaChaine) ' renvoie 10
MsgBox CombienDe(";v", MaChaine) ' renvoie 1
wiranata
Messages postés3Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention31 juillet 2003 31 juil. 2003 à 09:16
slt !
merci bcp pr cette réponse rapide, c'est exactement ce qu'il me fallait...ce qui est triste c'est que j'utilise ailleurs effectivement la fction Split mais j'ai pas percuté pr mon besoin ici...ggrrrr... ;o(
Pr répondre en même tps à pcpunch (que je remercie aussi ! ;o)), la solution proposée avec Mid est à mon avis moins performante (tt comme celle que j'utilisais avant avec INSTR d'ailleurs) que par le tableau en terme de temps de calcul...or vu que mon process concerne plusieurs dizaines de milliers de lignes et des dizaines de colonnes, la différence se fait assez sensiblement sentir au bout du compte...
Dc en gros, pr avoir testé les 2, je dirai que le vainqueur de la méthode la plus efficace est bien rene38 !! bravo ! ;-)