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 :

Tableau / UBound


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 46
    Par défaut Tableau / UBound
    Bonjour tout le monde !
    Voilà, mon programme bloque sur la fonction UBound appliquée à un tableau "FichChoisis" rempli de la manière suivante :

    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
    Private Sub CommandButton1_Click()
        Dim i As Integer, n As Integer
        Dim FichChoisis() As String 
        'Rentrée des éléments sélectionnés dans la ListBox (des noms de fichiers) dans le tableau FichChoisis
        ReDim FichChoisis(0)
        n = 0
        For i = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(i) Then
            ReDim Preserve FichChoisis(n)
            FichChoisis(n) = ListBox1.List(i)
            MsgBox FichChoisis(n)  'vérifie que le tableau enregistre les bonnes données
            n = n + 1
            End If
        Next i
        MsgBox UBound(FichChoisis)  
        UserForm3.Hide   
    End Sub
    Dans ce code la ligne "MsgBox UBound(FichChoisis)" fonctionne et renvoie le bon chiffre; mais lorsque j'utilise UBound(FichChoisis) là où j'en ai besoin ça génère une erreur ("L'indice n'appartient pas à la selection"...).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public FichChoisis() As String
    Sub Super_Min_Max()
        Dim i As Integer
        For i = 0 To UBound(FichChoisis)
        'instructions....
        Next i
    End Sub
    Je ne comprend pas pourquoi... Si quelqu'un pouvait m'éclairer...

    PS: J'ai également essayer UBound(FichChoisis, 1); ça donne la même chose.

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Salut,

    c'est parce que tu utilise FichChoisis pour un tableau mais aussi pour ta routine.

    Pas bon cela. Change le nom de ta routine par exemple.

    Ensuite il faudra voir sir ton code "routine" se trouve bien dans un module ou dans la même feuille que CommandButton1_Click.

    Attention que la porté de FichChoisis() est limitée à la procédure CommandButton1_Click() qui est private.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 46
    Par défaut
    Je ne comprend pas ce que tu appelle "routine" ... !?
    J'ai supprimé "Dim FichChoisis() As String" dans mon premier code, je veux que ce soit une variable public("Private Sub CommandButton1_Click()" est dans une feuille et "Sub Super_Min_Max()
    " dans un module). C'est sans doute ça qui posait problème; maintenant ça a l'air de marcher... Merci !

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

Discussions similaires

  1. Boucler sur un tableau Ubound
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/12/2013, 10h13
  2. Tableau et UBound
    Par Tchupacabra dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/05/2009, 20h51
  3. ptite info sur ubound ou plutot un tableau
    Par lionhigh dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2008, 08h55
  4. UBound et tableau vide
    Par benoit70 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/09/2005, 22h26
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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