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 à problème


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut Tableau à problème
    Bonjour,

    J'ai un probblème avec un Tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    intValeur = intTableau(NumServ, NumFonc, NumDanger, 1)
    J'ai l'impression qu'on ne peut pas mettre des variables comme indice dans un tableau, pour la lecture, ou bien j'ai un problème de déclaration.
    Voici les déclarations faite dans le même module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Dim iLigneLire, iLigneResultat, iColDanger, NumServ, NumFonc, NumDanger, DonValeur As Integer
        Dim intTableau(50, 50, 80, 5) As Integer
        Dim intValeur As Integer
    Merci si vous pouvez m'aider.

    flamel

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Je crois que le pb pourrait provenir de la déclaration des vraiables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim iLigneLire, iLigneResultat, iColDanger, NumServ, NumFonc, NumDanger, DonValeur  As Integer
    Seul DonValeur est de type entier. Les autres sont variants. Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim iLigneLire as Integer, iLigneResultat as integer, ...
    Cordialement,

    PGZ

  3. #3
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Bonjour,

    Je crois avoir trouver une raison.
    Le tableau n'est pas complet, et il y a donc des valeurs qui n'existent pas.

    J'ai un message: ' L'indice n'appartient pas à la sélection '

    J'ai essayé de contourner avec 'on error goto' , mais ça n'empêche pas de bloquer.
    Y a-t-il un autre moyen ?

    Merci.

    flamel

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Citation Envoyé par flamel Voir le message
    J'ai un message: ' L'indice n'appartient pas à la sélection '
    Cela veut dire que tu utilises des valeurs d'indices trop grandes. Par exemple avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim intTableau(50, 50, 80, 5) As Integer
    l'indice de la dimension 1 va de 0 à 49. Si tu demandes intTableau(50,1,1,1), tu as ce message d'erreur.

    PGZ

  5. #5
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2002
    Messages : 391
    Par défaut
    Merci PGZ

    Ce n'est pas le cas.
    Il doit y avoir une bêtise que je n'arrive pas à détecter.

    Cordialement

    flamel

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Pour ma part, je me demande ce que tu souhaites faire exactement, car un tableau à 4 dimensions ... c'est très lourd a gérer, utilises tu vraiment autant de cases?
    Déclaré comme tu l'a fait cela revient a dire
    j'ai 50 cases,
    contenant chacune 50 cases,
    qui elles même contiennent 80 cases
    composé de 5 cases

    Ça fait un paquet de cases
    5*80*50*50 = 1 millions de cases si je ne dis pas de bêtise.
    Dis nous en un peu plus sur ton besoin, quel structure souhaites tu stocker dans ton tableau?

    Si vraiment ton besoin est tel, donne nous les valeurs prise par tes différentes variables (NumServ, NumDanger, Num...)

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Pour compléter l'intervention de Qwaz, je te suggère quand tu rencontres l'erreur d'ouvrir le debug et de lire les valeurs de tes variables utilisées en indices. Suivant le message d'erreur, c'est clair tu en as au moins une en dehors des clous.

    Cordialement,

    PGZ

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/02/2009, 09h18
  2. initialisation d'un tableau probléme
    Par id.prog dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 11/04/2008, 10h27
  3. mysql_real_escape_string() et un tableau : problème
    Par JackBeauregard dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 14/08/2006, 17h48
  4. [HTML] [CSS ?] Tableau : problème avec cellules
    Par Epistoliere dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 07/08/2006, 17h04
  5. [HTML] Tableau problème de formatage avec internet Explorer
    Par rabobsky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2005, 09h50

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