Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…