XL 2010 Copier coller contenu de cellule d'une feuille à l'autre.

DAVID-44-

XLDnaute Occasionnel
Bonjour à tous,
Je recherche un code pour copier / coller d'une feuille (HORAIRES) à l'autre (CALENDRIER) le contenu des cellules (ex : C3"HORAIRES" dans B5"CALENDRIER") correspondant au jour de la semaine afin de remplir facilement un calendrier sur une année.
Merci de votre aide.
Bonne journée.
David.
 

Pièces jointes

  • Classeur1.xlsx
    11.9 KB · Affichages: 11

job75

XLDnaute Barbatruc
Bonjour DAVID-44-, Phil69970, le forum,

La macro dans le code de la feuille CALENDRIER :
VB:
Private Sub Worksheet_Activate()
Dim jour As Range, v As Variant
Set jour = [B2]
While jour <> ""
    v = Application.VLookup(jour, Feuil1.[B:C], 2, 0)
    jour(4) = IIf(IsError(v), "", v)
    Set jour = jour(5)
Wend
End Sub
Elle se déclenche automatiquement quand on active la feuille.

A+
 

Pièces jointes

  • Classeur(1).xlsm
    19.1 KB · Affichages: 6

job75

XLDnaute Barbatruc
Si l'on veut créer le calendrier on peut utiliser cette macro, toujours dans le code de la feuille :
VB:
Sub Creer_calendrier()
Dim x$, s, deb$, fin$, P As Range, i&, dat&
Do
    x = InputBox("Entrez la date de début et la date de fin séparées par un espace :", "Créer le calendrier", x)
    If x = "" Then Exit Sub
    s = Split(x & " ")
    deb = IIf(s(0) < s(1), s(0), s(1))
    fin = IIf(s(0) > s(1), s(0), s(1))
Loop While Not IsDate(deb) Or Not IsDate(fin)
If CDate(fin) - CDate(deb) > 9999 Then MsgBox "Le nombre de jours ne doit pas dépasser 10000 !", 48: Exit Sub
Set P = [B2:C5] 'tableau initial
i = 1
Application.ScreenUpdating = False
For dat = CDate(deb) To CDate(fin)
    If i > 1 Then P.Copy P(i, 1) 'copier-coller
    P(i, 1) = UCase(Format(dat, "dddd"))
    P(i, 2) = Day(dat)
    P(i + 1, 1) = UCase(Format(dat, "mmmm yyyy"))
    i = i + 4
Next
P(i, 1).Resize(Rows.Count - P(i, 1).Row + 1, 2).Clear 'RAZ en dessous
If ActiveSheet.Name = Me.Name Then Worksheet_Activate Else Me.Activate 'lance la macro Worksheet_Activate
End Sub
A+
 

Pièces jointes

  • Classeur(2).xlsm
    24 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
312 147
Messages
2 085 767
Membres
102 968
dernier inscrit
Tmarti