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 :

Indice en dehors de la plage (erreur 9) [Débutant(e)]


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Indice en dehors de la plage (erreur 9)
    Bonjour à tous,
    Me voici nouveau sur ce forum.
    Je suis étudiant en école d'ingénieur, et pour mon projet de fin d'étude j'ai la correction d'un programme VBA (entre autre) à faire, et celui-ci n'est pas se qu'on a fait de plus structuré.
    Tout ceci, ajouté au fait que je ne sois pas un as de la programmation en général, me pose quelques difficultés.
    C'est donc pour cela que je sollicite votre aide. Lors du lancement de mon programme j'ai le message erreurs "Indice en dehors de la plage (erreur 9)" qui apparaît, et je ne comprend pas pourquoi.
    Le débogage m'indique la ligne 108.
    Pourriez vous m'aider ?

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    Sub densification()
    Dim Z_int_bam_0(), Z_cone_int(), Z_cone_int_0(), box(), def_tan(), def_tan_ret(), table_jasp(), table_jasp_ret(), surf_int_bam(), force_press_bam(), force_trac_bam(), Z_pt_densi(), Sin_a(), Cos_a() As Single
    Dim i, j, pt_dep As Integer
     
     
     
    Worksheets("densification").Activate
     
    'récupération données
     
    'cone int
    L_cone_1 = Range("j30").Value
    L_cone_2 = Range("j31").Value
    L_cone_3 = Range("j32").Value
     
    Ray = Range("j35").Value
     
    R_cone_1 = Range("M30").Value
    R_cone_2 = Range("M31").Value
    R_cone_3 = Range("M32").Value
     
    Pt_R1 = Range("O30").Value
    Pt_R2 = Range("O31").Value
    Pt_R3 = Range("O32").Value
     
    Ang_gamma = Range("M33").Value
    cos_gamma = Range("M35").Value
    sin_gamma = Range("M36").Value
     
    Ang_alpha = Range("J39").Value
    cos_alpha = Range("L39").Value
    sin_alpha = Range("M39").Value
     
    Ang_beta = Range("J40").Value
    cos_beta = Range("L40").Value
    sin_beta = Range("M40").Value
     
     
    'bambou
    L_bam = Range("f30").Value
    Ep_bam = Range("f31").Value
    Diam_ext_bam_0 = Range("f32").Value
     
    Ang_teta = Range("b31").Value
    cos_teta = Range("b33").Value
    sin_teta = Range("b34").Value
     
    pas = Range("b39").Value
    L_or = Range("b42").Value / pas
     
    coef_frot = Range("f35").Value
    u = Range("b38").Value
     
     
    'Jaspart
    Worksheets("Jaspart").Activate
    K1 = Range("d5").Value
    K2 = Range("d6").Value
    K3 = Range("d7").Value
    R = Range("d8").Value
    eps_d = Range("d9").Value
    alpha = Range("d10").Value
    gamma = Range("d11").Value
     
     
     
    Worksheets("densification").Activate
     
    'calcul des diverses pas et autres valeurs usuelles
    pas_1 = (R_cone_2 - R_cone_1) / (L_cone_1 / pas)
    pas_2 = (R_cone_3 - R_cone_2) / (L_cone_2 / pas)
     
    tan_teta = sin_teta / cos_teta
    tan_gamma = sin_gamma / cos_gamma
    pas_teta = pas * tan_teta
    pas_gamma = pas * tan_gamma
     
     
    N_divi_cone = (L_cone_1 + L_cone_2 + L_cone_3) / pas
    N_divi_bam = L_bam / pas
     
    ....
     
    'calcul des altitudes du cône interieur et adressage
        'calcul du point de tangeance de la partie 3 avec le quart de cercle Attention reprere du cercle
        If Ang_gamma > 0 Then
            tg = Ray * tan_gamma / ((1 + tan_gamma ^ 2) ^ 0.5)
        Else
            tg = -Ray * tan_gamma / ((1 + tan_gamma ^ 2) ^ 0.5)
        End If
            tgi = Round(tg + 0.4 / pas, 0)
     
     
        i = 0
        A = 0
        b = 0
        j = (L_cone_3 - Ray) / pas - tgi
     
        For i = 0 To i_cone_0
     
            Z_cone_int_0(i) = 0
        Next
     
        For i = i_cone_0 To (i_cone_0 + (Ray / pas) + tgi)
     
            x = (i - (i_cone_0 + Ray / pas)) * pas
            y = (Ray ^ 2 - x ^ 2) ^ 0.5
            Z_cone_int_0(i) = R_cone_3 + L_cone_3 * tan_gamma - Ray * tan_gamma - Ray + y
        Next
     
        For i = (i_cone_0 + (Ray / pas) + tgi) To i_cone_0 + L_cone_3 / pas
     
            Z_cone_int_0(i) = R_cone_3 + j * pas_gamma
            j = j - 1
        Next
     
        For i = i_cone_0 + L_cone_3 / pas To i_cone_0 + (L_cone_3 + L_cone_2) / pas
     
            Z_cone_int_0(i) = R_cone_3 - A * pas_2
            A = A + 1
        Next
     
        For i = i_cone_0 + (L_cone_3 + L_cone_2) / pas To i_cone_0 + (L_cone_3 + L_cone_2 + L_cone_1) / pas
            Z_cone_int_0(i) = R_cone_2 - b * pas_1
            b = b + 1
        Next
     
        For i = i_cone_0 + (L_cone_3 + L_cone_2 + L_cone_1) / pas To N_divi
            Z_cone_int_0(i) = 0
        Next
     
     
     
      'affichage des resultats pour graphe position de depart
        i = 0
        j = 0
        For i = 0 To N_divi Step (1 / pas)
            Range("b" & (55 + j)).Value = i * pas
            Range("c" & (55 + j)).Value = Z_cone_int_0(i)
            Range("d" & (55 + j)).Value = Z_int_bam_0(i)
            j = j + 1
        Next

  2. #2
    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
    Bonjour,
    Pensez à lire les régles d'utilisation (et de formattage des posts) des forums...

    une valeur incorrecte en dehors de la définition du tableau (dim/redim) a été affectée à i

  3. #3
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 169
    Points
    17 169
    Par défaut
    Salut
    A savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Z_int_bam_0(), Z_cone_int(), Z_cone_int_0(), box(), def_tan(), def_tan_ret(), table_jasp(), table_jasp_ret(), surf_int_bam(), force_press_bam(), force_trac_bam(), Z_pt_densi(), Sin_a(), Cos_a() As Single
    Seul Cos_a() est de type Single, les autres variables sont de type variant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i, j, pt_dep As Integer
    pt_dep est de type Integer, les autres variables sont .....
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Merci
    Merci pour les infos, demandées et non demandées
    Et désolé pour les petites erreurs de mise en forme ...
    Je vais me pencher sur cette histoire de valeur incorrecte affectée.

Discussions similaires

  1. [ VBS + Excel ] Erreur " Indice en dehors de la plage "
    Par adaoudi dans le forum VBScript
    Réponses: 2
    Dernier message: 02/07/2014, 10h35
  2. Erreur (Indice en dehors de la plage) Fonction SPLIT [VBS]
    Par Cristalinz dans le forum VBScript
    Réponses: 8
    Dernier message: 18/11/2013, 16h45
  3. "Erreur d'exécution '9'. Indice en dehors de la plage"
    Par bassiste dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/12/2008, 13h40
  4. Indice en dehors de la plage
    Par Neuromancien2 dans le forum ASP
    Réponses: 3
    Dernier message: 15/06/2007, 14h11
  5. [VB6] Pb tableau 2D : indice en dehor de la plage
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 03/10/2006, 17h15

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