Vidadou47

XLDnaute Nouveau
Bonjour ,

Dans le cadre de mon travail je dois modifier une macro qui a était faite il y'a 10 ans .
Le problème est le suivant :

Nous devons créer une colonne " Couleur" dans la colonne H .
Cette dernière étant utilisé dans le code pour effectuer un copier coller j'aimerai que cela se fasse dans une autre colonne ( I ) .
Je ne connais rien en VBA et lorsque que je modifie " H" Par "I" j'ai une erreur " erreur 1004 : Autofill ..."

Voir le fichier ci-joint.

Merci
 

Pièces jointes

  • Copy of MacroSP.xls
    52.5 KB · Affichages: 33

vgendron

XLDnaute Barbatruc
déjà.. avec quelques simplifications

VB:
Sub FormatProdstar()

Dim a As Integer
With Sheets("Feuil1")
    a = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne
    .Columns("A:B").Insert Shift:=xlToRight
   
    With .Rows("1:1")
        .ClearContents
        .Font.Bold = False
        .NumberFormat = "@"
    End With
   
    .Range("A1").Resize(a).FormulaR1C1 = "90P21302"
    .Range("B1").FormulaR1C1 = "F000"
    .Range("C1").FormulaR1C1 = "003200007080008080010176005100"
    .Range("B2").Resize(a - 1).FormulaR1C1 = "D000"
    .Range("H2").Resize(a - 1).FormulaR1C1 = "=RC[-2]*1000000"
   
    .Columns("I:I").Copy Destination:=.Columns("F:F")
    .Columns("D:E").NumberFormat = "yyyymmdd"
    .Columns("G:G").NumberFormat = "0000000000"
    .Columns("F:F").NumberFormat = "00000000000000000"
    .Columns("A:H").EntireColumn.AutoFit
   
    .Columns("I:I").Delete Shift:=xlToLeft
    .Range("A1").Activate
End With

ChDir "I:\Manufacturing\Prodstar"
ActiveWorkbook.SaveAs Filename:="I:\Information System\fp2ipt.seq", FileFormat _
        :=xlTextPrinter, CreateBackup:=False
End Sub
 

vgendron

XLDnaute Barbatruc
l'autre macro qui coupe et colle la colonne H (au lieu de I) vers F ca donne ceci
VB:
Sub FormatProdstarSP()

Dim a As Integer
With Sheets("Feuil1")
    a = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne
    .Columns("A:B").Insert Shift:=xlToRight
   
    With .Rows("1:1")
        .ClearContents
        .Font.Bold = False
        .NumberFormat = "@"
    End With
   
    .Range("A1").Resize(a).FormulaR1C1 = "90P21302"
    .Range("B1").FormulaR1C1 = "F000"
    .Range("C1").FormulaR1C1 = "003200007080008080010176005100"
    .Range("B2").Resize(a - 1).FormulaR1C1 = "D000"
    .Range("H2").Resize(a - 1).FormulaR1C1 = "=RC[-2]*1000000"
   
    .Columns("H:H").Copy Destination:=.Columns("F:F")
    .Columns("D:E").NumberFormat = "yyyymmdd"
    .Columns("G:G").NumberFormat = "0000000000"
    .Columns("F:F").NumberFormat = "00000000000000000"
    .Columns("A:H").EntireColumn.AutoFit
   
    .Columns("H:H").Delete Shift:=xlToLeft
    .Range("A1").Activate
End With

ChDir "I:\Manufacturing\Prodstar"
ActiveWorkbook.SaveAs Filename:="I:\Information System\fp2ipt.seq", FileFormat _
        :=xlTextPrinter, CreateBackup:=False
End Sub
 

Vidadou47

XLDnaute Nouveau
l'autre macro qui coupe et colle la colonne H (au lieu de I) vers F ca donne ceci
VB:
Sub FormatProdstarSP()

Dim a As Integer
With Sheets("Feuil1")
    a = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne
    .Columns("A:B").Insert Shift:=xlToRight

    With .Rows("1:1")
        .ClearContents
        .Font.Bold = False
        .NumberFormat = "@"
    End With

    .Range("A1").Resize(a).FormulaR1C1 = "90P21302"
    .Range("B1").FormulaR1C1 = "F000"
    .Range("C1").FormulaR1C1 = "003200007080008080010176005100"
    .Range("B2").Resize(a - 1).FormulaR1C1 = "D000"
    .Range("H2").Resize(a - 1).FormulaR1C1 = "=RC[-2]*1000000"

    .Columns("H:H").Copy Destination:=.Columns("F:F")
    .Columns("D:E").NumberFormat = "yyyymmdd"
    .Columns("G:G").NumberFormat = "0000000000"
    .Columns("F:F").NumberFormat = "00000000000000000"
    .Columns("A:H").EntireColumn.AutoFit

    .Columns("H:H").Delete Shift:=xlToLeft
    .Range("A1").Activate
End With

ChDir "I:\Manufacturing\Prodstar"
ActiveWorkbook.SaveAs Filename:="I:\Information System\fp2ipt.seq", FileFormat _
        :=xlTextPrinter, CreateBackup:=False
End Sub








Merci mais cela me met l'erreur suivante " Erreur d'exécution: '9' L'indice n'appartient pas à la sélection"


Edit: j'ai modifié le nom de la feuille
 

vgendron

XLDnaute Barbatruc
pour la seconde macro.. à corriger comme ceci. à cause de la formule
VB:
Sub FormatProdstarSP()

Dim a As Integer
With Sheets("Feuil1")
    a = .Range("A" & .Rows.Count).End(xlUp).Row 'dernière ligne
    .Columns("A:B").Insert Shift:=xlToRight
   
    With .Rows("1:1")
        .ClearContents
        .Font.Bold = False
        .NumberFormat = "@"
    End With
   
    .Range("A1").Resize(a).FormulaR1C1 = "90P21302"
    .Range("B1").FormulaR1C1 = "F000"
    .Range("C1").FormulaR1C1 = "003200007080008080010176005100"
    .Range("B2").Resize(a - 1).FormulaR1C1 = "D000"
    .Range("H2").Resize(a - 1).FormulaR1C1 = "=RC[-2]*1000000"
   
    .Columns("H:H").Copy
    .Columns("F:F").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    .Columns("D:E").NumberFormat = "yyyymmdd"
    .Columns("G:G").NumberFormat = "0000000000"
    .Columns("F:F").NumberFormat = "00000000000000000"
    .Columns("A:H").EntireColumn.AutoFit
   
    .Columns("H:H").Delete Shift:=xlToLeft
    .Range("A1").Activate
End With

ChDir "I:\Manufacturing\Prodstar"
ActiveWorkbook.SaveAs Filename:="I:\Information System\fp2ipt.seq", FileFormat _
        :=xlTextPrinter, CreateBackup:=False
End Sub
 

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T