VBA : Constante requise lors de déclaration

Bonjour, je viens de me mettre au VBA et je souhaite déclarer 2 variables qui prennent une valeur sur une des feuilles de mon classeur. Le problème est que le ".Values" se surligne et le message "Erreur de compilation : Constante requise" s'affiche.

Dim c As Workbook, recap As Worksheet
Set recap = c.Worksheets("Recap") ' Feuilles sur lequels le prog va travailler

Const Max As Integer = recap.Range("A2").Values
Const nbMois As Integer = recap.Range("B2").Values ' Constantes Du max d'employés et sur quels mois

Dim salarie(Max, nbMois, 1) ' Tableau répertoriant les salariés, et sur quels mois ils sont présent

For i = 4 To Max + 4
    recap.Cells(i, 4) = Workbooks("CICE 2018").Worksheets("JP2018").Cells(i, 2)
    salarie = salarie(Workbooks("CICE 2018").Worksheets("JP2018").Cells(i, 2), 0, 0)

Des idées ? :c

bonjour,

1)c'est .value et non .values

2) ton utilisation de constantes n'est pas correcte, dans ce cas ce sont des variables,

3) MAx est un mot réservé qui risque de te poser des problème.

donc

dim nbMax as integer
dim nbMois as integer,salarie()
nbMax = recap.Range("A2").Value
nbMois  = recap.Range("B2").Value ' Constantes Du max d'employés et sur quels mois

reDim salarie(Max, nbMois, 1) ' Tableau répertoriant les salariés, et sur quels mois ils sont présent

For i = 4 To nbMax + 4
    recap.Cells(i, 4) = Workbooks("CICE 2018").Worksheets("JP2018").Cells(i, 2)
    salarie = salarie(Workbooks("CICE 2018").Worksheets("JP2018").Cells(i, 2), 0, 0) <- ceci n'est pas correct mais comme je ne sais pas ce que tu veux faire,je ne peux pas corriger (il manque les indices à salarie)

Même avec

.Value

à la place de

.Values

ça ne marche toujours pas, même message d'erreur

Bonjour,

j'avais pas fini ma réponse, voir plus haut.

D'accord, merci !

J'avais essayé avec des variables, mais le problème est que pour mon tableau "salarie", un message d'erreur apparait pour me dire qu'une constante est requise pour la variable "nbMois"..

rebonjour,

voir réponse complétée plus haut.

Ca marche parfaitement, je savais pas qu'il fallait redimensionner le tableau

Du coup j'ai une feuille vide, et une feuille remplie avec pleins d'information, mais surtout une colonne avec le nom des salariés

Je sais combien est-ce que j'ai de salarié exactement, et le premier salarié se situe à la case B4 du tableau salarié.

Je souhaite donc prendre ce salarié et le copier sur une cellule de ma feuille vide, et ce, pour tous les salariés

Et sinon je souhaite stocker dans le 1er indice du tableau le nom du salarié

Rechercher des sujets similaires à "vba constante requise lors declaration"