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

Macros et VBA Excel Discussion :

vba excel compter un nombre de valeurs dans un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut vba excel compter un nombre de valeurs dans un tableau
    Bonjour à tous le monde!!

    J'aimerais afficher les valeurs d'un tableau dans une message box.Ce que j'arrive à peu près à faire.Mais je n'ai que 3 valeurs dans mon tableau et j'aimerais indiquer à l'ordi qu'il s'arrête lorsque les 3 valeurs sont passées.
    Donc comment faut-il faire s'il vous plaît?
    Merci et bonne journée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub Test_V05()
     
        Dim tableau(20) As Voiture 'tableau(20) est le nb de valeurs que l'on va mettre dedans
        Dim i As Integer
     
     
        'Remplissage de 1ere ligne Tableau
        tableau(0).Couleur = "Rouge"
        tableau(0).Cylindree = 2000
        tableau(0).anneeAchat = #4/21/2004#
     
        'Remplissage de 2ieme ligne Tableau
        tableau(1).Couleur = "Bleu"
        tableau(1).Cylindree = 1500
        tableau(1).anneeAchat = #3/25/2001#
     
        'Remplissage de 3ieme ligne Tableau
        tableau(2).Couleur = "Rose"
        tableau(2).Cylindree = 2500
        tableau(2).anneeAchat = #8/12/1999#
     
        'Lecture contenu tableau
     
        Do While Not i = UBound(tableau)
     
            MsgBox "Cette voiture " & tableau(i).Couleur & " a une cylindrée de " & _
            tableau(i).Cylindree & " cc, année " & tableau(i).anneeAchat
            i = i + 1
        Loop
            MsgBox "Fin du tableau"
     
    End Sub

  2. #2
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    n'est ce pas déja ce que tu fais avec ton Ubound? °_°

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut
    Ca marche pas!! apparemment le UBound délimite la valeur du tableau. Et le tableau dans les déclarations, je l'ai mis à 20 donc il me mets 20 fois la msgbox avec 3 msgbox avec des valeurs et le reste sans valeurs!!

  4. #4
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    ahhhhhhhhhh je viens de percuter ! Mea culpa, mea maxima culpa!

    Alors tu as trois solutions qui valent ce qu'elles valent.
    Soit tu mets un flag dans ton type (je suppose que tu n'as pas la main dessus!) (Degueulasse)

    Soit tu changes la condition de ton while genre While i<=ubound(tableau) and tableau(i).Value<>"" Mais là tu as des conditions en coins a gérer (bof bof)

    Soit tu dimensionnes ta structure proprement en fonction de tes besoins. Quitte a la faire très large au debut tableau(1 to 50000) et une fois que tu as fini de le remplir, tu conclus par un redim preserve tableau(1 to max) et donc là tu pourras pleinement utiliser le ubound. (le must du must)

    Amuse toi bien

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut
    Merci mais j'ai pas tous compris...est ce qu'un petit exemple de code serait possible s'il vous plaît...

  6. #6
    Membre actif
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Points : 246
    Points
    246
    Par défaut
    Methode 1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public type Voiture
        Couleur as string
        Cylindree as long
        anneeAchat as date
        isFill as boolean
     end type
    Methode 2:
    le code est déja donné.

    Méthode 3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     redim preserve montableau(0 to 3) as Voiture

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 015
    Points : 182
    Points
    182
    Par défaut
    Merci je vais opter pour la dernière!!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/11/2008, 22h35
  2. Réponses: 12
    Dernier message: 30/05/2006, 15h57
  3. [VBA-E] connaitre le nombre de ligne dans un tableau excel
    Par bigbarbe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 10h03
  4. [Excel] Compter le nombre de valeurs
    Par Malach dans le forum Excel
    Réponses: 3
    Dernier message: 06/04/2006, 00h04
  5. Compter le nombre d'élément dans un tableau
    Par cryptorchild dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h01

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