Remplissage des cellules avec un tableau 2 dimensions

sohyr

XLDnaute Nouveau
Bonjour à tous,
Je suis entrain de créer mon planning annuel, mes jours de travail sont basés sur un cycle de 7 semaines qui se répète tout au long de l'année.
Mon fichier agit de la façon suivant : En cliquant sur le bouton "Générer le calendrier", je rentre la date du style 01/01/2013 et à partir de là, les jours s'affichent automatiquement.

Maintenant mon problème, dans la colonne située à droit de chaque date, je souhaiterai y afficher le type de vacation (A pour matin, B pour après-midi et C/N qui représente la nuit).
J'ai crée un tableau avec les 7 semaines et les 7 jours de la semaine (qui représente l'ensemble du cycle).
Je souhaiterai que ce qui est dans ce tableau apparaissent dans les colonne situées à droite de la date ??

Ci-joint, le code où je coince ainsi que mon fichier :
Sub Vacation()
Dim jour As Variant
Dim semestre1 As Range
Dim semestre2 As Range

Set semestre1 = Range("A3:AP33")
Set semestre2 = Range("A36:AP66")

Dim tabl(6, 7) As String 'Rangement des données dans un tableau
For i = 0 To 6
tabl(i, 0) = Range("G" & i + 79)
tabl(i, 1) = Range("H" & i + 79)
tabl(i, 2) = Range("I" & i + 79)
tabl(i, 3) = Range("J" & i + 79)
tabl(i, 4) = Range("K" & i + 79)
tabl(i, 5) = Range("L" & i + 79)
tabl(i, 6) = Range("M" & i + 79)
tabl(i, 7) = Range("N" & i + 79)
Next

jour = Weekday(Range("C3")) 'retour de la valeur du 1er jour

'recherche de la valeur dans le tableau
Range("G79", "N85").Select
For Each Cell In Selection
If Cell.Value = jour Then
MsgBox "valeur trouvée"
Je bloque ICI

Exit For
End If
Next

End Sub


Désolé si le code est un peu barbare mais j'y vais petit à petit ....
Merci d'avance de votre aide
 

Pièces jointes

  • Planning annuel.xls
    77 KB · Affichages: 54
  • Planning annuel.xls
    77 KB · Affichages: 57
  • Planning annuel.xls
    77 KB · Affichages: 55

sohyr

XLDnaute Nouveau
Re : Remplissage des cellules avec un tableau 2 dimensions

Bonjour à tous,
j'ai revu un peu mon code pour la même fonction et je continue à avancer petit à petit :
Sub Vacation()
Dim jour As Variant
Dim semestre1 As Range
Dim semestre2 As Range

Set semestre1 = Range("A3:AP33")
Set semestre2 = Range("A36:AP66")

tabl = Range("G79:N85").Value 'Création du tableau

jour = Weekday(Range("C3")) 'retour de la valeur du 1er jour

'recherche des cellules avec une valeur au format Date et remplir la colonne suivante
For Each Cell In semestre1
If IsDate(Cell.Value) = True Then
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = "C"
End If
Next

End Sub

Sauf que la valeur "C" rempli les cellules à partir de la position AM67 sachant que dans mon cas, je souhaiterai que ça commence à partir de D3 (qui est dans la sélection).

Merci d'avance de votre réponse.
 

Discussions similaires

Réponses
12
Affichages
242