Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA : copier collage spéciale dans une fonction vba

1 réponse
Avatar
Eric dohin
Bonsoir,

J'aimerai pouvoir récupérer les valeurs de ma fonction et non pas la formule
dans la cellule destination.

Si vous avez une diée je suis preneur, voici ci-dessous mon code.

Merci

Eric



Function Eric(cel1 As Range, cel2 As Range)

Dim Val As String

Val = cel1.Value & " " & cel2.Value


Eric = Val

Call Collage

End Function

Sub Collage()

ActiveCell.Select

Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues


End Sub

1 réponse

Avatar
Daniel.C
Bonsoir.
Une fonction, même appelant une macro, ne peut que modifier la valeur
d'une cellule. Modifie ton code comme suit :

Function Eric(cel1 As Range, cel2 As Range)

Dim Val As String

Eric = cel1.Value & " " & cel2.Value

End Function

et, dans le module de la feuille, ajoute :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.HasFormula = True And LCase(Left(Target.Formula, 6) =
"=eric(") Then
Target = Target.Value
End If
End Sub

Cordialement.
Daniel

Bonsoir,

J'aimerai pouvoir récupérer les valeurs de ma fonction et non pas la formule
dans la cellule destination.

Si vous avez une diée je suis preneur, voici ci-dessous mon code.

Merci

Eric



Function Eric(cel1 As Range, cel2 As Range)

Dim Val As String

Val = cel1.Value & " " & cel2.Value


Eric = Val

Call Collage

End Function

Sub Collage()

ActiveCell.Select

Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues


End Sub