Tableau en VBA

Résolu/Fermé
EdithDC Messages postés 1 Date d'inscription jeudi 19 octobre 2006 Statut Membre Dernière intervention 21 janvier 2007 - 21 janv. 2007 à 13:15
 Frogg - 9 févr. 2007 à 23:20
Re bonjour,
a la suite d'une malencontreuse maladresse, j'ai validé un peu vite mon messge précédent sans que j'aies pu y indiqeur la raison de ce SOS.
Je relance donc ma bouteille à la mer, mais cette fois avec le bouchon,
désolée pour ce contre temps

je disais donc :

Je débute dans l'utilisation des macros dans Excel. J'ai découvert pas mal de choses déjà, mais là, je suis bloquée.
J'ai un classeur dans lequel j'ai les horaires du personnel.
pour chaque salarié, j'ai 9 lignes qui ont le même format
nom,prenom, date de l'application de l'horaire, horaire du lundi, hosraire du mardi, horaire du mercredi, horaire du jeudi, horaire du vendredi.
dans un autre classeur qui est attricué a 1 salarié donné, j'ai 365 lignes qui correspondent a chaque jour de l'année. pour chaque ligne, je souahite mettre l'horaire correspondant au jour. Par exemple, si le 1er janvier est un lundi, mettre l'horaire de Lundi qui se trouve dans l'autre classeur.
Pour ce faire, je passe par l'intermédiare d'un tableau qui a la description suivante
DIM T_EMPLOI_TEMPS (1 to 9, 1 to 63) As Variant
pour charger le tableau j'ai écrit la routine suivante :

i_ligne_emp = i_ligne_salarié - 1

' charger les 9 lignes du tableau avec les 9 horaires successifs

For i_tab_lig = 1 To 9
'
'pour chaque ligne charger les 62 colonnes a répartir

For i_col_emp = 6 To 68

'choisr le numero de la colonne du tableau qui recevra l'information

i_tab_col = i_col_emp - 5

'remplir la cellule représentée par l'intersecrion ligne colonne

t_emploi_temps(i_tab_lig, i_tab_col) = Cells(i_ligne_emp, i_col_emp)

'colonne suivante

Next i_col_emp

'ligne salarié suivante

i_ligne_emp = i_ligne_emp + 1
Next i_tab_lig

et voila donc la suite :

Losque j’execute la macro, j’ai un message d’erreur

« erreur de compilation
Sub ou Function non définie »
Sur la ligne
t_emploi_temps(i_tab_lig, i_tab_col) = Cells(i_ligne_emp, i_col_emp)

je ne comprend pas la raison de ce message

quelqu’un peut-il m’apporter son aide éclairé sur cette erreur

d’avance merci

1 réponse

Sub Empoidutps()
Dim t_emploi_temps(1 To 9, 1 To 63) As String
Dim lign As Integer

i_ligne_emp = 2

Sheets(1).Select ' FeuilEmploi du temps 1ère feuille

For i_tab_lig = 1 To 9

For i_col_emp = 6 To 68

i_tab_col = i_col_emp - 5

t_emploi_temps(i_tab_lig, i_tab_col) = Sheets(1).Cells(i_ligne_emp, i_col_emp)

Next i_col_emp

i_ligne_emp = i_ligne_emp + 1
Next i_tab_lig

Sheets(2).Select ' FeuilSalarié1 2ème feuille

lign = 1
colon = 1

For i_tab_lig = 1 To 9
Cells(lign, colon) = t_emploi_temps(i_tab_lig, 1)
lign = lign + 1
Next i_tab_lig

End Sub

Voilà qques modifs. Le remplissage des heures pour un salarié pour une semaine.
0