Copier-coller d'une plage de cellules

Salut le forum,

j'essais par une macro de copier la plage F1:F15 en B1:B15.

J'ai écrit cette macro mais elle me copie les formules de F1:F15 au lieu des résultats :

Private Sub ok_Click()

Sheets("Données").Protect userinterfaceonly:=True

Range("Données!F1") = cbomodif 'cbomodif est un combobox dans un userform

Unload Me 'je décharge le userform

Range("Données!F1:F15").Select

Selection.Copy

Range("Données!B1").Select

ActiveSheet.Paste

Application.CutCopyMode = False

fiche.Show 'j'ouvre un nouveau userform qui devrait contenir les données en B1:B15

End Sub

En rouge, mon code qui copie F1:F15 en B1:B15

F1 est la seule donnée qui est correctement copiée puisqu'elle ne contient pas de formule.

Si mon nouveau userform ne prend pas les données directement dans F1:F15, c'est que ces données subissent une série de transformation que je ne souhaite pas faire en une seule cellule, question de lisibilité.

Merci pour votre aide.

salut à tous,

remplace:ActiveSheet.Paste par :Selection.PasteSpecial Paste:=xlValues

(collage.spécial/valeur)

amicalement

Claude.

Wow! Super!

Ça fonctionne A1!

Merci beaucoup Claude.

Salut le forum,

dans ce code :

Private Sub ok_Click()

Sheets("Données").Protect userinterfaceonly:=True

Range("Données!F1") = cbomodif

Range("Données!F4:F15").Select

Selection.Copy

Range("Données!B4").Select

Selection.PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

Range("Données!F2").Select

Selection.Copy

Range("Données!B1").Select

Selection.PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

Range("Données!F3").Select

Selection.Copy

Range("Données!B2").Select

Selection.PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

Range("Données!F1").Select

Selection.Copy

Range("Données!B3").Select

Selection.PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

Unload Me

fiche.Show

Call effac

End Sub

la ligne en rouge me crée un bug lorsque la feuille est protégée.

Merci pour votre aide.

salut Eric

c'est normal !

il faut déprotéger au début de macro.

ActiveSheet.Unprotect Password:="dudu"

et réactiver en fin de macro

Worksheets("base").Protect Password:="dudu"

ici mot de passe "dudu", (si pas de mot... tu arrête le code avant Password )

Claude.

Encore une fois merci Claude.

Ça fonctionne A1.

Rechercher des sujets similaires à "copier coller plage"