Bonjour,
J'ai la macro suivante qui marche très bien. j'ai essayer de réduire le code, mais je n'ai pas réussi a faire plus court. Le problème se situe au niveau de la génération du TCD. Je suis oblige de faire trois bloc with d’affilée pour arriver a mes fins. Malgré tous mes efforts, des erreurs surviennent toujours quand j'essaye de tout mettre dans le même bloc with.
Y'a-t-il une raison particulière (due au langage VBA) au fait qu'on ne puisse pas tout faire d'un coup ? Ou s'agit-il d'une erreur de ma part ?
Merci pour votre aide m(_ _)m
Macro :
	
	
	
	
	
		
	
		
			
		
		
	
				
			J'ai la macro suivante qui marche très bien. j'ai essayer de réduire le code, mais je n'ai pas réussi a faire plus court. Le problème se situe au niveau de la génération du TCD. Je suis oblige de faire trois bloc with d’affilée pour arriver a mes fins. Malgré tous mes efforts, des erreurs surviennent toujours quand j'essaye de tout mettre dans le même bloc with.
Y'a-t-il une raison particulière (due au langage VBA) au fait qu'on ne puisse pas tout faire d'un coup ? Ou s'agit-il d'une erreur de ma part ?
Merci pour votre aide m(_ _)m
Macro :
		Code:
	
	
	Sub BUYMATCD()
    Dim paneru As Range
    Dim TCD As Worksheet
    Dim teburu As PivotTable
    Set paneru = ActiveWorkbook.Sheets(1).UsedRange
    Set TCD = Sheets.Add(After:=Sheets(Sheets.Count))
    ActiveSheet.Name = "テーブル"
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=paneru, Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:="テーブル!R1C1", TableName:="仕分け", DefaultVersion:=xlPivotTableVersion14
    TCD.Range("A1").Select
    Set teburu = ActiveSheet.PivotTables("仕分け")
    With teburu.PivotFields("商品コード")
        .Orientation = xlRowField
        .Position = 1
    End With
    With teburu.PivotFields("サイズ")
        .Orientation = xlRowField
        .Position = 2
    End With
    With teburu
        .AddDataField teburu.PivotFields("不変ID"), "個数", xlCount
        .TableStyle2 = "PivotStyleMedium2"
        .RowAxisLayout xlOutlineRow
        .RepeatAllLabels xlRepeatLabels
    End With
    retsu = TCD.UsedRange.Rows.Count - 1
    Range("A1:C" & retsu).Copy
    Range("D1").PasteSpecial Paste:=xlPasteValues
    Range("D1").PasteSpecial Paste:=xlPasteFormats
    Range("D:F").AutoFilter
    Range("D:F").AutoFilter Field:=1, Operator:=xlFilterNoFill
    Columns("A:C").EntireColumn.Hidden = True
End Sub
	
			
				Dernière édition: