XL 2016 COPIER COLLER de valeurs d'une feuille à une autre depuis une valeur d'une cellule sans bouton

SQUARE ING.

XLDnaute Nouveau
Bonjour,
Sur la feuille A, j'ai une cellule contenant une variable (1,2,3,4)
Suivant cette variable je souhaiterais copier quatre valeurs de la feuille B.
Puis coller ces valeurs sur la feuille A.

Sub Formuletvaleur()
'
' Formule_to_valeur Macro
'
If Range("F7") = 2 Then
Sheets("RECAP").Select
Range("B203:b206").Select
Selection.Copy
Sheets("Analyse").Select
Range("C12").Select
ActiveSheet.Paste Link:=True

ElseIf Range("F7") = 3 Then
Sheets("RECAP").Select
Range("B203").Select
Selection.Copy
Sheets("Analyse").Select
Range("C12").Select
ActiveSheet.Paste Link:=True

End If
End Sub

le problème que je rencontre est qu'une fois la valeur la valeur de la variable de la feuille A rentrée, et que je click sur celle-ci la cellule se met directement sur la cellule ou j'ai demandé à copier les valeurs de la feuille B.
Je n'ai pas encore trouvé de solution et j'espère pouvoir compter sur vous.
Merci d'avance.
 

Roblochon

XLDnaute Barbatruc
Bonjour,

Sans Selection de feuille ou cellules
VB:
Sub Formuletvaleur()
    Dim wsSource As Worksheet, wsDest As Worksheet
    '
    ' Formule_to_valeur Macro
    '
    Set wsSource = ThisWorkbook.Sheets("RECAP")
    Set wsDest = ThisWorkbook.Sheets("Analyse")
  
    ' Il faudrait qualifier le Range("F7") avec au moins la feuille d'où il provient
    Select Case Range("F7").Value
    Case 2
        wsSource.Range("B203:b206").Copy   wsDest.Range("C12")
    Case 3
        wsSource.Range("B203").Copy  wsDest.Range("C12")
    Case Else
        ' Autre chose ou rien à faire
    End Select
End Sub

Comme on ne sait rien ni des tenants et aboutissants de la chose, difficile d'aller plus loin.

cordialement
 
Dernière édition:

Roblochon

XLDnaute Barbatruc
Euh
Encore un petit effort ! Au moins pour nous dire dans quelle cellule ! et ensuite pour nous dire pourquoi vous avez mis FormuleEtValeur comme fonction dans vos cellules.

Il faut distinguer les macros (procédures qui enchaînent des actions) et les fonctions (qui renvoient une valeur)

Une fonction ne peut pas modifier une cellule elle peut seulement lui renvoyer une valeur.

Alors si ce que vous voulez est que la macro soit lancé automatiquement lorsque Analyse!G6 (et non pas G7 ou F7) change alors il faut programmer l'évènement Worksheet_Change de la feuille.
La 'macro' Worksheet_Change est une macro dite évènementielle qui s'auto lance sur changement une cellule de feuille.

Voir fichier joint par click-droit/'visuliser le code' sur le nom de l'onglet Analyse

Dans votre fichier, que votre valeur de Analyse!G6 soit 2 ou 3 ce sont toujours les mêmes cellules qui sont copiées/coller dans la même destination.

La question que je me pose est le but de tout ça, puisque une simple formule le ferait tout aussi bien et sans tracas !
 

Pièces jointes

  • copier coller.xlsm
    26.5 KB · Affichages: 9

Discussions similaires

Haut Bas