VBA, l'indice n'appartient pas à la sélection

sid85

XLDnaute Nouveau
Bonjour,
Je débute en VBA et je suis confronté à une erreur : l'indice n'appartient pas à la sélection.
Merci d'avance pour votre aide.

Le code:

Sub Parc()

Dim ass As Date
Dim ctr As Date
Dim code As Variant
Dim i, j As Integer

ReDim asstableau(1 To n, 1)
ReDim ctrtableau(1 To n, 1)
ReDim code(1 To n, 1)

n = 26

For i = 1 To n
asstableau(i, 1) = Worksheets("Parc auto").Cells(4 + i, 14 + j).Value
Next i

For i = 1 To n
ctrtableau(i, 1) = Worksheets("Parc auto").Cells(4 + i, 16 + j).Value
Next i

For i = 1 To n
code(i, 1) = Worksheets("Parc auto").Cells(4 + i, 3 + j).Value
Next i

For i = 1 To n
If asstableau(i, 1) < Date + 31 Then Range("a" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If asstableau(i, 1) < Date + 60 Then Range("b" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

For i = 1 To n
If ctrtableau(i, 1) < Date + 31 Then Range("d" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If ctrtableau(i, 1) < Date + 60 Then Range("e" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

End Sub
 

sid85

XLDnaute Nouveau
Re : VBA, l'indice n'appartient pas à la sélection

Rebonjour,

J'ai essayé de corriger mon code et là je suis confronté à l'erreur 438 : propriété ou méthode non gérée.

Le nouveau code :

Sub Parc()

ReDim ass(1 To 26, 1) As Date
ReDim ctr(1 To 26, 1) As Date
ReDim code(1 To 26, 1) As Variant
Dim i, j As Integer




n = 26


For i = 1 To n
ass(i, 1) = Worksheets("Parc auto").Cells(4 + i, 14 + j).Value
Next i


For i = 1 To n
ctr(i, 1) = Worksheets("Parc auto").Cells(4 + i, 16 + j).Value
Next i

For i = 1 To n
code(i, 1) = Worksheets("Parc auto").Cells(4 + i, 3 + j).Value
Next i

For i = 1 To n
If ass(i, 1) < Date + 31 Then Range("a" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If ass(i, 1) < Date + 60 Then Range("b" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

For i = 1 To n
If ctr(i, 1) < Date + 31 Then Range("d" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If ctr(i, 1) < Date + 60 Then Range("e" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

End Sub


Merci d'avance
 

Pierrot93

XLDnaute Barbatruc
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour Sid,

peut être nous indiquer quelle ligne est en erreur ?
D'autre part tu utilises la variable j, et sauf erreur, je ne vois pas que cette variable soit initialisée...

bon après midi
@+
 

sid85

XLDnaute Nouveau
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour Pierrot93,
Merci pour le j, je ne l'avais pas remarqué ^^, en ce qui concerne la ligne de l'erreur 438 : Propriété ou méthode non gérée, elle n'est pas indiquée mais je crois que le problème se situe dans la partie suivante :


For i = 1 To n
If ass(i, 1) < Date + 31 Then Range("a" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If ass(i, 1) < Date + 62 Then Range("b" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

For i = 1 To n
If ctr(i, 1) < Date + 31 Then Range("d" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
If ctr(i, 1) < Date + 62 Then Range("e" & i + 2).Value = Worksheets("Parc auto").code(i, 1)
Next i

C'est surement une erreur de manipulation des dates.

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour à tous

Worksheets("Parc auto").code(i, 1)


Kesako .code :confused::confused:

edition
: bonjour skoobi, nous sommes d'accord ;)

edition2: bonjour kjin, n'est-il pas ... ?

edition3: bonjour Robert, il y a foule à ne point digérer ce .code
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour sid85,
Pierrot:),

C'est là que ca coince:

Code:
Worksheets("Parc auto").[COLOR=red]code[/COLOR](i, 1)

Après une feuille, il faut un Range et non un tableau dynamique.

Edit: salut JM, ;)
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour le fil, bonjour le forum,

Code est un tableau de variables mais tu ne peux pas l'associer à un onglet... :
Code:
For i = 1 To n
If ctr(i, 1) < Date + 31 Then Range("d" & i + 2).Value = [COLOR=red]Worksheets("Parc auto").[/COLOR]code(i, 1)
If ctr(i, 1) < Date + 62 Then Range("e" & i + 2).Value = [COLOR=red]Worksheets("Parc auto").[/COLOR]code(i, 1)
Next i
Essaie en supprimant la partie en rouge...

Édition :
Tu vois, même mon voisin de Montpellier, que je salue, s'en étonne... Mais bon lui, un rien l'amuse faut dire...
Édition 2 :
Staple et Skoobi s'étonnent tout autant mais leur étonnement est tellement rapide que je les avais pas vu... Bonjour à eux aussi !
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
342
Réponses
5
Affichages
238

Statistiques des forums

Discussions
312 424
Messages
2 088 286
Membres
103 808
dernier inscrit
qsfdhqzsfg