par la même ligne en changeant le range("b5:b35") en variable en fait j'écrits dans la prmière cellule le 1jour du jour type(Lu) et en utilisant la methode autofill selon le mois 30, 31, voir 28 ou 29 pour avoir la correspondance des jours de la semaine.
En fait selon le mois je veux tiré juque la cellule 31 en dessous ou 30 etc...
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 2 oct. 2008 à 15:54
Salut,
"b5:b35" n'étant rien de plus qu'une chaine de caractère tu peux très bien le mettre comme ceci
Dim Dest As String
Range("B5").Select
Dest = "B5:B35"
Call Selection.AutoFill(Range(Dest), xlFillDefault), ----
[../code.aspx?ID=41455 By Renfield]
Et donc aller chercher Dest n'importe ou.
JE ne sais pas si je suis très clair et si c'est réellement ce que tu souhaites mais bon...
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 2 oct. 2008 à 18:12
Salut,
jrivet, je pense que tu n'as repondu qu'en parti a la question et donc je me permet de completer :
salade007, le code qui suit n'est surement pas completement adapté à ton besoin mais ne doit pas en etre tres loin. Pour voir si cela correspond a ton besoin tu dois le tester sur une feuille ou un fichier different donc sepparement de ton code existant.
sur une nouvelle feuille appeler feuil, en A1 tu ecris l'année par exemple : 2008
en A2 tu ecris le mois par exemple février (Attention à l'orthographe et même aux accents !)
En suite il ne reste plus qu'a l'ancer la macro
Sub demo()
Dim NbJour As Long, MaDate As String, Maplage As Range
With Worksheets("feuil1")
'creation de la date a partir du mois et de l'année specifiés sur la feuille
'attention ici le format de date est anglais
MaDate = .Range("A2").Text & "/01/" & .Range("A1").Value
On Error Resume Next 'si erreur sur la prochaine ligne on continu quand meme
MaDate = DateValue(MaDate) 'permet de verifier que la date est bien une date
If Err = 13 Then 'si ce n'est pas une date
Err.Clear
MsgBox "Erreur sur la date. Veuillez verifier les valeurs saisies. ", vbExclamation
Exit Sub
End If
'Combien de jour pour le mois spécifié de l'année spécifié ?
NbJour = DateDiff("d", MaDate, DateAdd("m", 1, MaDate))
'on efface les valeurs deja presentes
.Columns("B:C").ClearContents
'ecrit le nom du premier jour de mois
.Range("B5").Value = Format(MaDate, "dddd")
.Range("C5").Value = 1
'on determine la plage de destination de l'autofill en fonction du nombre de jour et de la 1iere cellule
Set Maplage = .Range("B5:C" & 5 + NbJour - 1)
'on lance l'autofill
.Range("B5:C5").AutoFill Destination:=Maplage, Type:=xlFillDefault
End With
End Sub