Problème copie de données
Bonjour,
J'ai un léger problème avec mon code ci-dessous, je veux copier une plage de valeurs de ma feuille 1 à ma feuille 2 en copiant sur une ligne vide à la suite de mes autres données sur la feuille 2.
Quand je le fais tourner, les valeurs ne s'enregistrent pas à la suite des autres et vont toujours se copier sur la ligne 73.
Sub Enregistrer_valeurs ()
If MsgBox("Les valeurs du " & OS.Range("C3") & " seront enregistrées. Confirmez-vous l'enregistrement ?", vbYesNo, "Confirmation d'enregistrement") = vbYes Then
Feuil1.Unprotect
Feuil2.Unprotect
Set val1 = Feuil2.Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1)
If Not val1 Is Nothing Then
FO = val1.Row
Feuil1.Range("A4:AC4").Copy
Feuil2.Cells(val1.Row, "A").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Feuil1.Select
MsgBox ("Les valeurs " & Range("C3") & " ont été enregistrées.")
Feuil1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Save
End If
1
End SubMerci pour votre aide, bonne journée !
Bonjour Ma, bonjour le forum,
OS n'est ni déclarée si définie dans la première ligne de ton code ?!... À partir du moment où tu as déclaré et défini Val1 (variable de type Range) tu n'a pas besoin d'autre chose pour coller la plage copiée. Ton code modifié (à compléter) :
Sub Enregistrer_valeurs()
Dim OS As Worksheet
Dim Val1 As Range
Set OS = Worksheets("Le_nom_de_l_onglet") '?!...
If MsgBox("Les valeurs du " & OS.Range("C3") & " seront enregistrées. Confirmez-vous l'enregistrement ?", vbYesNo, "Confirmation d'enregistrement") = vbYes Then
Feuil1.Unprotect
Feuil2.Unprotect
Set Val1 = Feuil2.Cells(Application.Rows.Count,"A").End(xlUp).Offset(1,0)
If Not Val1 Is Nothing Then
Feuil1.Range("A4:AC4").Copy
Val1.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Feuil1.Select 'pas sûr que ce soit obligatoire...
MsgBox ("Les valeurs " & Range("C3") & " ont été enregistrées.")
Feuil1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Save
End If
End SubEncore une fois merci ThauThème,
Mes valeurs n'étaient pas déclarées parce que j'ai mis qu'une partie de mon code c'est pour ça que ça apparait un peu brouillon
Merci encore pour ton aide, bonne journée !