OVH Cloud OVH Cloud

Incémentation en ligne

2 réponses
Avatar
oliver
Bonjour,
je souhaite construire un calendrier de date à date, mais incrémenté sur une
ligne et non sur une colonne. J'utilise la macro suivante mais je suis
obligé de passer par l'inputBox pour sélectionner la cellule de départ.
Comment faire pour affecter automatiquement la cellule de départ?
Merci
Sub Calendrier()
'fs, mpfe
Dim deb#, fin#, NbJours&, i#
Dim Cell As Range, Li&, Col%

On Error Resume Next
deb = Range("b1").Value
fin = Range("c1").Value

If Err <> 0 Then Exit Sub

Set Cell = Application.InputBox _
("Sélectionnez la cellule où commence le calendrier", Type:=8)

Li = Cell.Row: Col = Cell.Column

For i = deb To fin
Cells(Li, Col).Value2 = i
If Weekday(i, vbMonday) > 5 Then _
Cells(Li, Col).Interior.ColorIndex = 6
Cells(Li, Col).NumberFormatLocal = "jj/mm"
Col = Col + 1
Next i
End Sub


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.516 / Virus Database: 313 - Release Date: 01/09/03

2 réponses

Avatar
isabelle
bonjour Oliver,

si tu veux fixé la cellule de départ modifie comme suit :

Li = Range("A1").Row: Range("A1") = Cell.Column

et enlève la ligne :

Set Cell = Application.InputBox _
("Sélectionnez la cellule où commence le calendrier", Type:=8)

isabelle


Bonjour,
je souhaite construire un calendrier de date à date, mais incrémenté sur une
ligne et non sur une colonne. J'utilise la macro suivante mais je suis
obligé de passer par l'inputBox pour sélectionner la cellule de départ.
Comment faire pour affecter automatiquement la cellule de départ?
Merci
Sub Calendrier()
'fs, mpfe
Dim deb#, fin#, NbJours&, i#
Dim Cell As Range, Li&, Col%

On Error Resume Next
deb = Range("b1").Value
fin = Range("c1").Value

If Err <> 0 Then Exit Sub

Set Cell = Application.InputBox _
("Sélectionnez la cellule où commence le calendrier", Type:=8)

Li = Cell.Row: Col = Cell.Column

For i = deb To fin
Cells(Li, Col).Value2 = i
If Weekday(i, vbMonday) > 5 Then _
Cells(Li, Col).Interior.ColorIndex = 6
Cells(Li, Col).NumberFormatLocal = "jj/mm"
Col = Col + 1
Next i
End Sub

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.516 / Virus Database: 313 - Release Date: 01/09/03


Avatar
Jean-François Aubert
Salut Olivier,
si tu veux remplir, par exemple, à partir de A4:

remplace la / les ligne(s):
Set Cell = Application.InputBox _
("Sélectionnez la cellule où commence le calendrier", Type:=8)

par:
Set Cell = Range("A4")

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"oliver" a écrit dans le message de news:400c38e1$0$19265$
Bonjour,
je souhaite construire un calendrier de date à date, mais incrémenté sur une
ligne et non sur une colonne. J'utilise la macro suivante mais je suis
obligé de passer par l'inputBox pour sélectionner la cellule de départ.
Comment faire pour affecter automatiquement la cellule de départ?
Merci
Sub Calendrier()
'fs, mpfe
Dim deb#, fin#, NbJours&, i#
Dim Cell As Range, Li&, Col%

On Error Resume Next
deb = Range("b1").Value
fin = Range("c1").Value

If Err <> 0 Then Exit Sub

Set Cell = Application.InputBox _
("Sélectionnez la cellule où commence le calendrier", Type:=8)

Li = Cell.Row: Col = Cell.Column

For i = deb To fin
Cells(Li, Col).Value2 = i
If Weekday(i, vbMonday) > 5 Then _
Cells(Li, Col).Interior.ColorIndex = 6
Cells(Li, Col).NumberFormatLocal = "jj/mm"
Col = Col + 1
Next i
End Sub


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.516 / Virus Database: 313 - Release Date: 01/09/03