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

  • Initiateur de la discussion Initiateur de la discussion sid85
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sid85

Guest
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
 
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
 
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
@+
 
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
 
Re : VBA, l'indice n'appartient pas à la sélection

Bonjour à tous

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


Kesako .code 😕😕

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:
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:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
910
Réponses
15
Affichages
784
Réponses
2
Affichages
527
Réponses
2
Affichages
465
Réponses
8
Affichages
390
Retour