Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 aide sur complément code

tinet

XLDnaute Impliqué
Bonjour le forum,

Je cherche à modifier mon code pour copier uniquement la valeur.

Voici mon code
 

mutzik

XLDnaute Barbatruc
bonjour
For i = 6 To Range("A65536").End(xlUp).Row
remplacer par Range("A" & rows.count).end ...
rows.count donne le nombre de lignes max de la version excel utilisée et donc fonctionnera partout

remplacer :
Sheets("Etapes jour").Select
NbCopie = Cells(i, 1)
Range(Cells(i, 1), Cells(i, 6)).Select
Selection.Copy
Sheets("Feuille jour").Select
Range(Cells(LigneDuplic, 1), Cells(LigneDuplic + NbCopie, 1)).Select
ActiveSheet.Paste
LigneDuplic = LigneDuplic + NbCopie

with Sheets("Etapes jour")
NbCopie = .Cells(i, 1) 'le point devant cells indique qu'il faut utiliser sheets("Etapes Jour")
.Range(Cells(i, 1), Cells(i, 6)).Copy destination:=Sheets("Feuille jour"). _
Range(Cells(LigneDuplic, 1), Cells(LigneDuplic + NbCopie, 1))
LigneDuplic = LigneDuplic + NbCopie
end with
 

tinet

XLDnaute Impliqué
Bonjour Mutzik

Merci pour ton retour
Si j'ai bien compris

Sub Duplication()


Dim LigneDuplic As Long
Dim NbCopie As Long

With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With

With Worksheets("Feuille jour")
.Range("A6:H1000").ClearContents

LigneDuplic = 6


For i = 6 To Range("A" & Rows.Count).End(xlUp).Rows.Count


With Sheets("Etapes jour")
NbCopie = .Cells(i, 1) 'le point devant cells indique qu'il faut utiliser sheets("Etapes Jour")
.Range(Cells(i, 1), Cells(i, 6)).Copy Destination:=Sheets("Feuille jour"). _
Range(Cells(LigneDuplic, 1), Cells(LigneDuplic + NbCopie, 1))
LigneDuplic = LigneDuplic + NbCopie
End With


Next i

End With

With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With

End Sub
 

tinet

XLDnaute Impliqué
plantage

With Sheets("Etapes jour")
NbCopie = .Cells(i, 1) 'le point devant cells indique qu'il faut utiliser sheets("Etapes Jour")
.Range(Cells(i, 1), Cells(i, 6)).Copy Destination:=Sheets("Feuille jour"). _
Range(Cells(LigneDuplic, 1), Cells(LigneDuplic + NbCopie, 1))

LigneDuplic = LigneDuplic + NbCopie
End With
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…