Dans la colonne A j'ai une s=E9rie de dates, dont le nombre varie de semain=
es en semaines.=20
A c=F4t=E9, dans la colonne B, je voudrais par macro =E9crire les chiffres =
de 1 =E0 5 (B1=3D1, B2=3D2,B3=3D3,B4=3D4,B5=3D5) et ensuite r=E9p=E9ter la =
s=E9quence jusqu'=E0 la fin de la colonne A, donc B6=3D1, B7=3D2, etc.....
Par la suite, je convertirai les 1 en Lundi, 2 en Mardi etc....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
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")
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 '-----------------------------------------------------
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")
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
'-----------------------------------------------------
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")
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
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
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....
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
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
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....
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
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
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....
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
Bonjour Denis, Isabelle et Jacky,
Wow.... merci beaucoup... je vais sauver beaucoup de temps...
Merci et bonne journée
Denys
Bonjour Denis, Isabelle et Jacky,
Wow.... merci beaucoup... je vais sauver beaucoup de temps...