pb avec ubound - VB/VBA/VBS - Programmation
Marsh Posté le 04-04-2003 à 13:08:32
dragonspyro93 a écrit : voila je veut faire un module qui va gerer un tableau dynamique de string (ajout d element par exemple). |
tu pourrais être plus précis ?
Marsh Posté le 04-04-2003 à 13:16:06
En fait c est simple je veut faire un module qui va gerer un tableau dynamique de string
donc pour ajouer un string a ce tableau dynamique il faudra faire addmsg("rere" ) par exemple.
Le probleme c est que ca plante : subscript ou of range
au niveau du Redim
je ne vois pas comment etre plus precis
Marsh Posté le 04-04-2003 à 13:23:42
tout simple: ton tableau n'est pas initialisé, il a besoin d'un premier redim histoire qu'il compte au moins un élément.
Marsh Posté le 04-04-2003 à 13:25:33
y a t il une fonction comme load mais pour les modules ???
qui se fait tout au debut
merci bcp
Marsh Posté le 04-04-2003 à 13:31:02
dans les modules, non.
Dans les forms: Initialize (avant chargement de la partie visuelle) et Load (après chargement de la partie visuelle)
Pour les usercontrols et classes: Initialize.
Marsh Posté le 10-09-2006 à 03:10:15
J'ai le meme problème.
J'ai des macro dans lesquelles je scan des tableaux mais si le tableau n'existe pas Ubound plante.
Hors je ne peux pas faire un redim avant car si mon tableaux existe je vais l'ecraser ...
Existe t'il une fonction permettant de savoir si le tableau existe ou pas ?
Merci d'avance.
Marsh Posté le 11-09-2006 à 17:23:02
tu dois gérer l'erreur renvoyer par ubound qd ton tableau à une dim=0.
sinon pour ne pas ecrser ton tableau mets preserve après redim.
voici du code pecher ailleurs:
Private Function TailleTab(Tableau() As String) As Integer
On Error GoTo vide
TailleTab = UBound(Tableau)
Exit Function
vide:
TailleTab = 0
End Function
ou
Public Function ContientElements(ByVal tableau As Variant) As Boolean
Dim indice As Long
On Error goto vide
indice = UBound(tableau)
ContientElements = True
Exit Function
vide:
End Function
Marsh Posté le 12-09-2006 à 13:57:57
Bonjour Acrosomia
Merci pour ton aide, j'avais trouvé cette fonction en cherchant un peu =)
Mais ca me renvois un message d'erreur. si tu as une idée >
http://forum.hardware.fr/hardwaref [...] 6078-1.htm
Marsh Posté le 04-04-2003 à 12:20:18
voila je veut faire un module qui va gerer un tableau dynamique de string (ajout d element par exemple).
Voici le code :
Public msg() As String
Public Sub addMsg(str As String)
ReDim Preserve msg(UBound(msg) + 1)
msg(UBound(msg) - 1) = str
End Sub
Ca plante sur ubound je comprends pas pkoi.
Quand je met ca dans un formulaire ca marche
Des idees ?