Code macro
o
Bonjour à tous,
mon code ci-dessous est opérationnel mais le problème c'est qu'il copie colle "tout".
j'aimerais le modifier à l'image d'un collage spécial: valeur uniquement.
comment faire?
merci
oza
Sub Enregistre()
Dim lignecourante As Long
Dim Quoi As String
Dim Trouve As Range
Quoi = Range("'travail à la référence'!A27")
Set Trouve = Worksheets("données MAJ").Range("A:A").Find(Quoi, LookAt:=xlWhole)
If Trouve Is Nothing Then
lignecourante = Range("'données MAJ'!A65536").End(xlUp).Row + 1
Worksheets("données MAJ").Range("A" & lignecourante) = Worksheets("travail à la référence").Range("A27")
Worksheets("travail à la référence").Range("B27:W27").Copy Destination:=Worksheets("données MAJ").Range("B" & lignecourante & ":W" & lignecourante)
lignecourante = Worksheets("récap").Range("A65536").End(xlUp).Row + 1
Worksheets("récap").Range("A" & lignecourante) = Worksheets("travail à la référence").Range("A27")
Worksheets("travail à la référence").Range("B27:W27").Copy Destination:=Worksheets("récap").Range("B" & lignecourante & ":W" & lignecourante)
Worksheets("récap").Range("X" & lignecourante) = Worksheets("travail à la référence").Range("F12")
Else
MsgBox "Cette référence existe déjà", vbCritical, "Alerte Application"
End If
'MaJTranche
End SubA
Bonjour
Fais un copier collage spécial valeur avec l'enregistreur pour avoir la syntaxe de la ligne de Code et modifies en conséquence.
Cordialement
o
pas bête l'astuce! merci
ça fonctionne mais quand j'exécute la macro, les onglets défilent à toute vitesse.
est-il possible possible d'éviter cela en épurant le code?
ce n'est qu'une question d'esthétique cela dit...
merci!
Sheets("travail à la référence").Select
Range("A27").Select
Selection.Copy
Sheets("données MAJ").Select
Range("A" & lignecourante).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("travail à la référence").Select
Range("B27:W27").Select
Selection.Copy
Sheets("données MAJ").Select
Range("B" & lignecourante & ":W" & lignecourante).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("travail à la référence").Select
'Worksheets("données MAJ").Range("A" & lignecourante) = Worksheets("travail à la référence").Range("A27")
'Worksheets("travail à la référence").Range("B27:W27").Copy Destination:=Worksheets("données MAJ").Range("B" & lignecourante & ":W" & lignecourante)
lignecourante = Worksheets("récap").Range("A65536").End(xlUp).Row + 1
Sheets("travail à la référence").Select
Range("A27").Select
Selection.Copy
Sheets("récap").Select
Range("A" & lignecourante).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("travail à la référence").Select
Range("B27:W27").Select
Selection.Copy
Sheets("récap").Select
Range("B" & lignecourante & ":W" & lignecourante).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("travail à la référence").Select
Sheets("travail à la référence").Select
Range("F12").Select
Selection.Copy
Sheets("récap").Select
Range("X" & lignecourante).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("travail à la référence").Select
Application.CutCopyMode = False
'Worksheets("récap").Range("A" & lignecourante) = Worksheets("travail à la référence").Range("A27")
'Worksheets("travail à la référence").Range("B27:W27").Copy Destination:=Worksheets("récap").Range("B" & lignecourante & ":W" & lignecourante)
'Worksheets("récap").Range("X" & lignecourante) = Worksheets("travail à la référence").Range("F12")Z
Bonjour,
Pas besoin d'épurer le code, il te suffit d'ajouter ceci :
Application.ScreenUpdating = False
'ton code de copie
Application.ScreenUpdating = TrueCordialement.
o
impeccable merci Zirak!