Transfert de ligne par macro
Fermé
sevy31130
-
8 nov. 2017 à 00:18
f894009 Messages postés 17181 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 mars 2024 - 8 nov. 2017 à 10:44
f894009 Messages postés 17181 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 21 mars 2024 - 8 nov. 2017 à 10:44
A voir également:
- Transfert de ligne par macro
- We transfert - Guide
- Site de vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Apparaitre hors ligne instagram - Guide
- Aller à la ligne excel - Guide
4 réponses
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
8 nov. 2017 à 08:19
8 nov. 2017 à 08:19
Bonjour,
Vous dites que vous ne savez pas faire, quand allez vous apprendre ??
Dans le fichier 20171, il y a une procedure (que je vous ai ecrite)
Manque pas grand chose pour que vous arriviez a faire ce que vous ne savez pas faire
Vous dites que vous ne savez pas faire, quand allez vous apprendre ??
Dans le fichier 20171, il y a une procedure (que je vous ai ecrite)
Sub copie_Plage_01_31()
Manque pas grand chose pour que vous arriviez a faire ce que vous ne savez pas faire
Bonjour,
oui en effet vous avez raison, quand vais-je apprendre, avec mes 76 ans et 2 opérations de la cataracte demain et dans 8 jours.
Question: est ce que dans le fichier 20171 si je change le nom du fichier dans cette ligne
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse-jour-complet-20171.xlsm")
et si je met
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse_jour_complet_2016.xlsm")
que dois-je encore changer
Par avance merci
oui en effet vous avez raison, quand vais-je apprendre, avec mes 76 ans et 2 opérations de la cataracte demain et dans 8 jours.
Question: est ce que dans le fichier 20171 si je change le nom du fichier dans cette ligne
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse-jour-complet-20171.xlsm")
et si je met
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse_jour_complet_2016.xlsm")
que dois-je encore changer
Par avance merci
bonjour
j ai essayé de la lancer et j ai cette erreur
LDateD = wb_b.Worksheets("01").Columns("C").Find(DateD, Cells(1, "C"), , xlWhole).Row
merci
j ai essayé de la lancer et j ai cette erreur
LDateD = wb_b.Worksheets("01").Columns("C").Find(DateD, Cells(1, "C"), , xlWhole).Row
merci
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
8 nov. 2017 à 08:38
8 nov. 2017 à 08:38
Re,
quand vais-je apprendre, avec mes 76 ans
Ce n'est pas une carence, mais je ne vais pas vous "torturer" plus longtemps. je vous fais ca
quand vais-je apprendre, avec mes 76 ans
Ce n'est pas une carence, mais je ne vais pas vous "torturer" plus longtemps. je vous fais ca
je crois que j'y suis arrivé
j ai changé et j'ai mis cela :
Sub copie_Plage_01_31()
Dim wb_a As Workbook, wb_b As Workbook
Dim Plage As Range
Dim Chemin As String, no As String
Dim lb As Long, n As Long
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Set wb_a = ThisWorkbook
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse_jour_complet_2016.xlsm")
DateD = wb_a.Worksheets("01").Range("C7")
LDateD = wb_b.Worksheets("01").Columns("C").Find(DateD, Cells(1, "C"), , xlWhole).Row
For n = 1 To 25
no = Format(n, "00")
Set Plage = wb_a.Worksheets(no).Range("D7:P5000")
With wb_b.Worksheets(no)
.Range("D" & LDateD & ":P" & LDateD + 365) = Plage.Value
End With
Next n
wb_b.Close True
Application.ScreenUpdating = True
MsgBox "Mise a jour terminée!!!!!"
End Sub
est-ce que c'est bon ?
merci mille fois , mais j'avais peur de toucher et de casser
j ai changé et j'ai mis cela :
Sub copie_Plage_01_31()
Dim wb_a As Workbook, wb_b As Workbook
Dim Plage As Range
Dim Chemin As String, no As String
Dim lb As Long, n As Long
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Set wb_a = ThisWorkbook
Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse_jour_complet_2016.xlsm")
DateD = wb_a.Worksheets("01").Range("C7")
LDateD = wb_b.Worksheets("01").Columns("C").Find(DateD, Cells(1, "C"), , xlWhole).Row
For n = 1 To 25
no = Format(n, "00")
Set Plage = wb_a.Worksheets(no).Range("D7:P5000")
With wb_b.Worksheets(no)
.Range("D" & LDateD & ":P" & LDateD + 365) = Plage.Value
End With
Next n
wb_b.Close True
Application.ScreenUpdating = True
MsgBox "Mise a jour terminée!!!!!"
End Sub
est-ce que c'est bon ?
merci mille fois , mais j'avais peur de toucher et de casser
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
8 nov. 2017 à 09:09
8 nov. 2017 à 09:09
Re,
est-ce que c'est bon ?
C'est pas mal!!!
Nom du fichier: - a la place de _
des lignes en trop et d'autres qui manquent, mais c'est pas mal pour un "debut"
fichier modifie, mais C6 pas D7, a vous de voir: https://mon-partage.fr/f/gApcY0Fj/
est-ce que c'est bon ?
C'est pas mal!!!
Nom du fichier: - a la place de _
des lignes en trop et d'autres qui manquent, mais c'est pas mal pour un "debut"
fichier modifie, mais C6 pas D7, a vous de voir: https://mon-partage.fr/f/gApcY0Fj/
sevy31130
>
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
8 nov. 2017 à 09:15
8 nov. 2017 à 09:15
est ce que les lignes qui manquent
sont importantes
si oui veuillez me dire ce que je dois rajouter
les lignes en trop ne devraient pas géner
est ce la
Set Plage = wb_a.Worksheets(no).Range("C6:P5000")
que je dois mettre C6 ? comme indiqué ?
merci
sont importantes
si oui veuillez me dire ce que je dois rajouter
les lignes en trop ne devraient pas géner
est ce la
Set Plage = wb_a.Worksheets(no).Range("C6:P5000")
que je dois mettre C6 ? comme indiqué ?
merci
f894009
Messages postés
17181
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
21 mars 2024
1 701
>
sevy31130
8 nov. 2017 à 10:44
8 nov. 2017 à 10:44
Re,
Regardez ce que j'ai ecrit comme code procedure, j'ai modifie DateD pour que vous n'ayez pas a la modifier dans le code precedent:
Regardez ce que j'ai ecrit comme code procedure, j'ai modifie DateD pour que vous n'ayez pas a la modifier dans le code precedent:
Sub copie_Plage_01_31_Annnee() Dim wb_a As Workbook, wb_b As Workbook Dim Plage As Range Dim Chemin As String, no As String Dim lb As Long, n As Long Dim DateD As Date 'Application.ScreenUpdating = False Chemin = ThisWorkbook.Path Set wb_a = ThisWorkbook Set wb_b = Workbooks.Open(Filename:=Chemin & "\presse-jour-complet-2016.xlsm") DateD = CDate("31/12/" & Year(Date) - 1) ' date annee-1 LDateD = wb_b.Worksheets("01").Columns("C").Find(DateD, Cells(1, "C"), , xlWhole).Row + 1 'lignes du 01/01/ annee en cour For n = 1 To 25 no = Format(n, "00") Set Plage = wb_a.Worksheets(no).Range("C6:P" & Range("A" & Rows.Count).End(xlUp).Row) 'plage a copier LDateF = Plage.Rows.Count 'nombre de ligne plage a copier With wb_b.Worksheets(no) .Range("C" & LDateD & ":P" & LDateD + LDateF) = Plage.Value 'transfert plage a la suite End With Next n wb_b.Close True Application.ScreenUpdating = True MsgBox "Mise a jour terminée!!!!!" End Sub