Déclaration array

Bonjour,

J'ai un programme qui importe un fichier (xlsx) sortant d'une ligne de production.

Mon tableau Excel relève les résultats de chaque postes

Il est entièrement terminé depuis un petit moment, je voudrais le refaire proprement, car c'est un peu le b....

Donc je voudrais commencer par créer des array mais je n'arrive pas à les déclarer de manière à ce qu'il garde les valeurs tout le temps du programme.

Sub declarations()
Poste(1) = Array("Atelier bois", "E18", "F18", "E19", "E20", "E21")
Poste(2) = Array("Atelier assemblage", "J18", "K18", "J19", "J20", "J21")
Poste(3) = Array("Atelier collage ", "E24", "F24", "E25", "E26", "E27")
End Sub

Il m'indique une erreur :

Erreur de compilation:

Sub ou Function non définie

Et si je déclare :

Dim Poste As Variant

Il me dit :

Erreur d'exécution '13':

Incompatibilité de type

Comment puis je remédier à ce problème ?

Merci pour votre aide.

Bonjour,

Teste comme ceci

Sub declarations()
  Dim Poste1 As Variant, Poste2 As Variant, Poste3 As Variant
  Poste1 = Array("Atelier bois", "E18", "F18", "E19", "E20", "E21")
  Poste2 = Array("Atelier assemblage", "J18", "K18", "J19", "J20", "J21")
  Poste3 = Array("Atelier collage ", "E24", "F24", "E25", "E26", "E27")
End Sub

Merci M12

Donc on ne peut pas faire de ma manière Poste(1)

C'est juste pour quelques boucles dans la suite de mon programme cela aurait été plus facile

for t=1 to 10

Poste (t)= ..... etc...

Bonjour

Bonjour à tous

Une variante :

Bye !

Option Explicit

Dim poste(3) As Variant

Sub declarations()

    poste(1) = Array("Atelier bois", "E18", "F18", "E19", "E20", "E21")
    poste(2) = Array("Atelier assemblage", "J18", "K18", "J19", "J20", "J21")
    poste(3) = Array("Atelier collage ", "E24", "F24", "E25", "E26", "E27")

    'Exemple :
    MsgBox poste(3)(0)

End Sub

Bye !

Merci GMB

Petite question

Si je veux garder en mémoire sur tous les modules , ou dois je placer les dim ?

Que l'on m'arrête si ce n'est pas ça :

Public Poste(20) As Variant
Option Explicit

Public poste(3) As Variant

Sub declarations()

    Call sp

    'Exemple:
    MsgBox poste(3)(0)

End Sub

Sub sp()
    poste(1) = Array("Atelier bois", "E18", "F18", "E19", "E20", "E21")
    poste(2) = Array("Atelier assemblage", "J18", "K18", "J19", "J20", "J21")
    poste(3) = Array("Atelier collage ", "E24", "F24", "E25", "E26", "E27")
End Sub

Bye !

Rechercher des sujets similaires à "declaration array"