Tableau en VBA
Résolu
EdithDC
Messages postés
1
Statut
Membre
-
Frogg -
Frogg -
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
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
A voir également:
- Tableau en VBA
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
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.
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.