Bonjour
Je souhaiterai solliciter votre aide puisque je dois realiser une boucle repeter tant que et que je ne pense pas avoir le niveau pour realiser celle ci.
Je dois copier coller des lignes depuis ma feuille 2 sur ma feuille 1.
Chaque ligne sur ma feuille 2 commence par la lettre S (numero de l objet, sa description...) et la lettre P qui contient toutes les informations sur la decoupe des objets a realiser.
Comme il est possible de faire plusieurs decoupes par objet il y a plus de ligne qui commence par P que par S mais celles-ci sont ordonnees de bas en haut.
Mon objectif serai de creer une boucle que copierai la ligne commencant par S en A1 par exemple puis de copier la ligne P a partir de A15 (car il y a 15 informations dans ma ligne S) et copier toutes les lignes P en dessous a la suite jusqu'a ce que la prochaine ligne soit un S. Et recommence cette boucle jusqu'a ce qu'il trouve une cellule vide dans la colonne A1 de la feuille2.
voici actuellement le code que j ai mis en place qui fonctionne pour une seule ligne.
Merci d'avance
Je souhaiterai solliciter votre aide puisque je dois realiser une boucle repeter tant que et que je ne pense pas avoir le niveau pour realiser celle ci.
Je dois copier coller des lignes depuis ma feuille 2 sur ma feuille 1.
Chaque ligne sur ma feuille 2 commence par la lettre S (numero de l objet, sa description...) et la lettre P qui contient toutes les informations sur la decoupe des objets a realiser.
Comme il est possible de faire plusieurs decoupes par objet il y a plus de ligne qui commence par P que par S mais celles-ci sont ordonnees de bas en haut.
Mon objectif serai de creer une boucle que copierai la ligne commencant par S en A1 par exemple puis de copier la ligne P a partir de A15 (car il y a 15 informations dans ma ligne S) et copier toutes les lignes P en dessous a la suite jusqu'a ce que la prochaine ligne soit un S. Et recommence cette boucle jusqu'a ce qu'il trouve une cellule vide dans la colonne A1 de la feuille2.
voici actuellement le code que j ai mis en place qui fonctionne pour une seule ligne.
HTML:
Sub Copy_Paste()
'
' Copy_Paste Macro
' Macro recorded 18/08/2015 by Miker
'
Dim plage As Range
Dim x As Long
Dim c
With Sheets("Sheet2")
Set plage = .Range("A4:A" & .Range("C200").End(xlUp).Row)
For Each c In plage
If c.Value = "P" Or c.Value = "B" Then
x = Sheets("Sheet1").Range("A200").End(xlUp).Row + 1
' 200 egale le nombre de ligne que l on veut
c.EntireRow.Copy Sheets("Sheet1").Rows(x)
ActiveCell.Range("B2") = "=MID(Sheet2!R1C3,1,1)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:P2"), Type:=xlFillDefault
Range("B2:P2").Select
Range("C2") = "=MID(Sheet2!R1C3,2,1)"
Range("D2") = "=MID(Sheet2!R1C3,3,1)"
Range("E2") = "=MID(Sheet2!R1C3,4,1)"
Range("F2") = "=MID(Sheet2!R1C3,5,1)"
Range("G2") = "=MID(Sheet2!R1C3,6,1)"
Range("H2") = "=MID(Sheet2!R1C3,7,1)"
Range("I2") = "=MID(Sheet2!R1C3,8,1)"
Range("J2") = "=MID(Sheet2!R1C3,9,1)"
Range("K2") = "=MID(Sheet2!R1C3,10,1)"
Range("L2") = "=MID(Sheet2!R1C3,11,1)"
Range("M2") = "=MID(Sheet2!R1C3,12,1)"
Range("N2") = "=MID(Sheet2!R1C3,13,1)"
Range("O2") = "=MID(Sheet2!R1C3,14,1)"
Range("P2") = "=MID(Sheet2!R1C3,15,1)"
Range("Q2") = "=MID(Sheet2!R1C4,1,1)"
Range("Q2").Select
Selection.AutoFill Destination:=Range("Q2:AT2"), Type:=xlFillDefault
Range("Q2:AT2").Select
Range("R2") = "=MID(Sheet2!R1C4,2,1)"
Range("S2") = "=MID(Sheet2!R1C4,3,1)"
Range("T2") = "=MID(Sheet2!R1C4,4,1)"
Range("U2") = "=MID(Sheet2!R1C4,5,1)"
Range("V2") = "=MID(Sheet2!R1C4,6,1)"
Range("W2") = "=MID(Sheet2!R1C4,7,1)"
Range("X2") = "=MID(Sheet2!R1C4,8,1)"
Range("Y2") = "=MID(Sheet2!R1C4,9,1)"
Range("Z2") = "=MID(Sheet2!R1C4,10,1)"
Range("AA2") = "=MID(Sheet2!R1C4,11,1)"
Range("AB2") = "=MID(Sheet2!R1C4,12,1)"
Range("AC2") = "=MID(Sheet2!R1C4,13,1)"
Range("AD2") = "=MID(Sheet2!R1C4,14,1)"
Range("AE2") = "=MID(Sheet2!R1C4,15,1)"
Range("AF2") = "=MID(Sheet2!R1C4,16,1)"
Range("AG2") = "=MID(Sheet2!R1C4,17,1)"
Range("AH2") = "=MID(Sheet2!R1C4,18,1)"
Range("AI2") = "=MID(Sheet2!R1C4,19,1)"
Range("AJ2") = "=MID(Sheet2!R1C4,20,1)"
Range("AK2") = "=MID(Sheet2!R1C4,21,1)"
Range("AL2") = "=MID(Sheet2!R1C4,22,1)"
Range("AM2") = "=MID(Sheet2!R1C4,23,1)"
Range("AN2") = "=MID(Sheet2!R1C4,24,1)"
Range("AO2") = "=MID(Sheet2!R1C4,25,1)"
Range("AP2") = "=MID(Sheet2!R1C4,26,1)"
Range("AQ2") = "=MID(Sheet2!R1C4,27,1)"
Range("AR2") = "=MID(Sheet2!R1C4,28,1)"
Range("AS2") = "=MID(Sheet2!R1C4,29,1)"
Range("AT2") = "=MID(Sheet2!R1C4,30,1)"
Range("AU2") = "=MID(Sheet2!R2C4,1,1)"
Range("AU3:AZ3").Select
Range("AU2").Select
Selection.AutoFill Destination:=Range("AU2:AZ2"), Type:=xlFillDefault
Range("AU2:AZ2").Select
Range("AV2") = "=MID(Sheet2!R2C4,2,1)"
Range("AW2") = "=MID(Sheet2!R2C4,3,1)"
Range("AX2") = "=MID(Sheet2!R2C4,4,1)"
Range("AY2") = "=MID(Sheet2!R2C4,5,1)"
Range("AZ2") = "=MID(Sheet2!R2C4,6,1)"
Range("BA2") = "=MID(Sheet2!R3C4,1,1)"
Range("BA2").Select
Selection.AutoFill Destination:=Range("BA2:BF2"), Type:=xlFillDefault
Range("BA2:BF2").Select
Range("BB2") = "=MID(Sheet2!R3C4,2,1)"
Range("BC2") = "=MID(Sheet2!R3C4,3,1)"
Range("BD2") = "=MID(Sheet2!R3C4,4,1)"
Range("BE2") = "=MID(Sheet2!R3C4,5,1)"
Range("BF2") = "=MID(Sheet2!R3C4,6,1)"
Range("BG2") = "=MID(Sheet2!R3C5,1,1)"
Range("BG2").Select
Selection.AutoFill Destination:=Range("BG2:BK2"), Type:=xlFillDefault
Range("BG2:BK2").Select
Range("BH2") = "=MID(Sheet2!R3C5,2,1)"
Range("BI2") = "=MID(Sheet2!R3C5,3,1)"
Range("BJ2") = "=MID(Sheet2!R3C5,4,1)"
Range("BK2") = "=MID(Sheet2!R3C5,5,1)"
Range("BL2") = "=MID(Sheet2!R3C6,1,1)"
Range("BL2").Select
Selection.AutoFill Destination:=Range("BL2:BP2"), Type:=xlFillDefault
Range("BL2:BP2").Select
Range("BM2") = "=MID(Sheet2!R3C6,2,1)"
Range("BN2") = "=MID(Sheet2!R3C6,3,1)"
Range("BO2") = "=MID(Sheet2!R3C6,4,1)"
Range("BP2") = "=MID(Sheet2!R3C6,5,1)"
Range("BQ2") = "=MID(Sheet2!R3C3,1,1)"
Range("BQ2").Select
Selection.AutoFill Destination:=Range("BQ2:BS2"), Type:=xlFillDefault
Range("BQ2:BS2").Select
Range("BR2") = "=MID(Sheet2!R3C3,2,1)"
Range("BS2") = "=MID(Sheet2!R3C3,3,1)"
Range("BQ3:BS3").Select
Range("BY2") = "=MID(Sheet2!R3C2,1,1)"
Range("BY2").Select
Selection.AutoFill Destination:=Range("BY2:CC2"), Type:=xlFillDefault
Range("BY2:CC2").Select
Range("BZ2") = "=MID(Sheet2!R3C2,2,1)"
Range("CA2") = "=MID(Sheet2!R3C2,3,1)"
Range("CB2") = "=MID(Sheet2!R3C2,4,1)"
Range("CC2") = "=MID(Sheet2!R3C2,5,1)"
Range("BY3:CC3").Select
Range("CI2") = "=MID(Sheet2!R3C17,1,1)"
Range("CI2").Select
Selection.AutoFill Destination:=Range("CI2:CU2"), Type:=xlFillDefault
Range("CI2:CU2").Select
Range("CJ2") = "=MID(Sheet2!R3C17,2,1)"
Range("CK2") = "=MID(Sheet2!R3C17,3,1)"
Range("CL2") = "=MID(Sheet2!R3C17,4,1)"
Range("CM2") = "=MID(Sheet2!R3C17,5,1)"
Range("CN2") = "=MID(Sheet2!R3C17,6,1)"
Range("CO2") = "=MID(Sheet2!R3C17,7,1)"
Range("CP2") = "=MID(Sheet2!R3C17,8,1)"
Range("CQ2") = "=MID(Sheet2!R3C17,9,1)"
Range("CR2") = "=MID(Sheet2!R3C17,10,1)"
Range("CS2") = "=MID(Sheet2!R3C17,11,1)"
Range("CT2") = "=MID(Sheet2!R3C17,1,1)"
Range("CT2") = "=MID(Sheet2!R3C17,13,1)"
Range("CU2") = "=MID(Sheet2!R3C17,14,1)"
Range("CI3:CU3").Select
End If
Next c
End With
End Sub
Merci d'avance