Recopier une série de nombres dans colonne B

Le
Denys
Bonjour,

Dans la colonne A j'ai une série de dates, dont le nombre varie de semain=
es en semaines.
A côté, dans la colonne B, je voudrais par macro écrire les chiffres =
de 1 à 5 (B1=1, B2=2,B3=3,B4=4,B5=5) et ensuite répéter la =
séquence jusqu'à la fin de la colonne A, donc B6=1, B7=2, etc..

Par la suite, je convertirai les 1 en Lundi, 2 en Mardi etc.

Auriez-vous une petite idée?

Merci pour votre temps

Denys
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26391829
Bonjour,


Tu auras directement le nom des jours de semaine
à partir de lundi comme jour no 1. À toi de l'adapter
dans la procédure...

'-----------------------------------------------------
Sub test()

Dim FirstRow As Long, LastRow As Long
Dim X As Long, A As Long, B As Long
'tableau de Base 1 jusqu'au nombre de jours désirés
'de la semaine.
Dim Arr(1 To 5), Sh As Worksheet

'Si tu veux laisser "Samedi" et "Dimanche" vide
'dans le tableau, déclare ton tableau comme ceci.
'et ne définis pas les éléments du tableau arr(6) et Arr(7)
'Dim Arr(1 To 7), Sh As Worksheet

'Nom de la feuille où sont tes données
Set Sh = Worksheets("Feuil1")

Arr(1) = "Lundi"
Arr(2) = "Mardi"
Arr(3) = "Mercredi"
Arr(4) = "Jeudi"
Arr(5) = "Vendredi"


Application.ScreenUpdating = False
Application.EnableEvents = False
With Sh
'Tu dois définir la plage de cellules,
'à quelle ligne les données débutent
'dans mon exemple, 1

With .Range("B1:B" & .Range("A" & .Rows.Count).End(xlUp).Row)
FirstRow = .Rows(1).Row
LastRow = .Rows.Count + FirstRow - 1
For A = FirstRow To LastRow Step UBound(Arr)
X = LastRow - A
If X < UBound(Arr) Then
B = X + 1
Else
B = UBound(Arr)
End If
Sh.Range("B" & A).Resize(B) = Application.Transpose(Arr)
Next
End With
End With
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'-----------------------------------------------------
isabelle
Le #26391831
bonjour Denys,

Sub Macro1()
Dim LastRow As Long
Var = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi")

With Sheets(1)
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With

For i = 2 To LastRow Step 5
Cells(i, 2).Resize(UBound(Var) + 1) = Application.Transpose(Var)
Next
End Sub

isabelle

Le 2016-03-07 15:32, Denys a écrit :
Bonjour,

Dans la colonne A j'ai une série de dates, dont le nombre varie de semaines
en semaines. A côté, dans la colonne B, je voudrais par macro écrire les
chiffres de 1 à 5 (B1=1, B2=2,B3=3,B4=4,B5=5) et ensuite répéter la séquence
jusqu'à la fin de la colonne A, donc B6=1, B7=2, etc.....

Par la suite, je convertirai les 1 en Lundi, 2 en Mardi etc....

Auriez-vous une petite idée?

Merci pour votre temps

Denys

isabelle
Le #26391830
plutot,

Sub Macro1()
Dim LastRow As Long
Var = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi")
With Sheets(1)
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To LastRow Step 5
.Cells(i, 2).Resize(UBound(Var) + 1) = Application.Transpose(Var)
Next
End With
End Sub

isabelle

Le 2016-03-07 21:22, isabelle a écrit :
bonjour Denys,

Sub Macro1()
Dim LastRow As Long
Var = Array("Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi")

With Sheets(1)
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
End With

For i = 2 To LastRow Step 5
Cells(i, 2).Resize(UBound(Var) + 1) = Application.Transpose(Var)
Next
End Sub

isabelle

Le 2016-03-07 15:32, Denys a écrit :
Bonjour,

Dans la colonne A j'ai une série de dates, dont le nombre varie de semaines
en semaines. A côté, dans la colonne B, je voudrais par macro écrire les
chiffres de 1 à 5 (B1=1, B2=2,B3=3,B4=4,B5=5) et ensuite répéter la séquence
jusqu'à la fin de la colonne A, donc B6=1, B7=2, etc.....

Par la suite, je convertirai les 1 en Lundi, 2 en Mardi etc....

Auriez-vous une petite idée?

Merci pour votre temps

Denys

Jacky
Le #26391847
Bonjour Denys,

Si j'ai bien compris les dates en colonne A correspondent toujours à
"lundi-mardi......vendredi"
Alors ceci
'-------------------
Sub chiffre2()
Dim Derlg As Long
With Sheets("Feuil1")'***A adapter***
Derlg = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range("a1:a" & Derlg).Copy .Range("b1")
.Range("b1:b" & Derlg).NumberFormat = "dddd"
End With
End Sub
'-------------------
--
Salutations
JJ

Denys a exposé le 07/03/2016 :
Bonjour,

Dans la colonne A j'ai une série de dates, dont le nombre varie de semaines
en semaines. A côté, dans la colonne B, je voudrais par macro écrire les
chiffres de 1 à 5 (B1=1, B2=2,B3=3,B4=4,B5=5) et ensuite répéter la séquence
jusqu'à la fin de la colonne A, donc B6=1, B7=2, etc.....

Par la suite, je convertirai les 1 en Lundi, 2 en Mardi etc....

Auriez-vous une petite idée?

Merci pour votre temps

Denys
Denys
Le #26391874
Bonjour Denis, Isabelle et Jacky,

Wow.... merci beaucoup... je vais sauver beaucoup de temps...

Merci et bonne journée

Denys
Publicité
Poster une réponse
Anonyme