IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

UBound et tableau vide


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Points : 48
    Points
    48
    Par défaut UBound et tableau vide
    Salut a tous, je cherche a faire un truc tout con mais ca a pas l air de marcher. Gestion d'un tableau dynamique comme en C++.

    Comment faire pour ajouter un élément ?????

    Apperement faut redimensionner le tableau mais ca ne marche pas avec le premier element ! car UBound plante si le tableau est vide.
    Comment faire alors? (si ce n'est de mettre une valuer bidon au début mais c du bricolage)
    Merci les confrères

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Je fais à peu près comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim monTableau() As Integer
    Dim i as Integer   ' compteur et indice
    For i = 0 to 9
        Redim Preserve monTableau(i)
        monTableau(i) = i
    Next i
    L'option Preserve est importante pour conserver les valeurs déjà entrées dans le tableau.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Points : 48
    Points
    48
    Par défaut
    merci mais ce n'est pas le problème en fait.

    1. je crée un tableau avec une taille null. Je ne SAIS PAS combien d'elements je vai y introduire
    2. je n ajoute pas d'element et je fais UBound(tableau) mais ca explose car le tableau a une taille nulle mais est kan meme un tableau.

    ---> comment lire la taille d'un tableau qui a une taille nulle???

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut,

    Citation Envoyé par benoit70
    ---> comment lire la taille d'un tableau qui a une taille nulle???
    Comment veux-tu lire la taille d'un tableau de taille nulle???

    Tu sais qu'en utilisant ubound sur un tableau de taille nulle tu obtiens une erreur. Il ne te reste qu'à la gérer... Dès que tu as l'erreur, le tableau est de taille nulle...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Veuillez faire l'effort d'effectuer une recherche sur le forum avant de poser une question SVP
    Récemment : http://www.developpez.net/forums/viewtopic.php?t=397438

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Points : 48
    Points
    48
    Par défaut
    vraiment désolé mais j'ai bien cherché avant sur le forum et meme sur google. Y a quelqu'un qui a posé la meme question sur un autre forum mais personne n'a répondu.

    Ma question était super simple et super précise et j'ai eu une seule réponse, partielle de surcroit : "gestion par l'erreur".

    Comment gérer l'erreur sur UBound afin de pas avoir la boite de dialogue d'erreur de VB?
    Désolé je débute. Mais ce serait cool d'etre plus précis car parmi les langages que je maitrise j'ai jamais vu ca de ma vie. 1 tableau c'est le B-A BA de la prog et faire tout ca pour ajouter un élement a un tableau vide ça frole le pitoyable.
    Cordialement

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    En reprenant le code de zazaraignée et avec une petite modif, ça donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      Dim monTableau() As Integer
      Dim i As Integer   ' compteur et indice
      ReDim monTableau(0)
      For i = 0 To 9
        ReDim Preserve monTableau(i)
        monTableau(i) = i
      Next i
    L'astuce vient d'un ReDim en plus.

    Plus de message d'erreur à gérer.

    Par contre, dans ton cas, il faudra, sans doute, faire un test de contenu pour éviter d'avoir le contenu de l'indice 0 vide.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    Si les réponses données ci dessus ne te conviennent pas, voici un exemple de fonction qui renvoie la taille d'un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Function TailleTab(Tableau() As String) As Integer
     
    On Error GoTo vide
    TailleTab = UBound(Tableau)
    Exit Function
     
    vide:
    TailleTab = 0
     
    End Function

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 101
    Points : 48
    Points
    48
    Par défaut
    Non ça va. Je suis juste un peu choqué de voir que y a tant de choses à faire pr seulemnt ça.... Mais bon on s'y fait.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tableau vide avec Redim
    Par tera_jeff dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/11/2007, 21h58
  2. [Tableaux] Tableau vide dans implode
    Par bogsy15 dans le forum Langage
    Réponses: 2
    Dernier message: 31/07/2007, 16h36
  3. test sur tableau vide
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 11/10/2006, 16h08
  4. [Tableaux] pb implode avec tableau vide
    Par bogsy15 dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2006, 13h39
  5. supprimer lignes/cellules de tableau vides
    Par Drozo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/08/2006, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo