Bonjour à tous.

Je souhaite réaliser un copier/coller d'une plage de cellule, selon ce que renvoi une cellule.

Par exemple:
J'ai la cellule D15 qui me renvoi une valeur, via une fonction RECHERCHEV.
Je récupère cette valeur dans une variable type string. TypeRame
Selon le résultat:
Si TypeRame est vide, efface la selection
Si TypeRame= PSE, copie/colle la selection.


La macro, que j'ai réalisé en partie avec l'enregistreur de macro, fonctionne, mais boucle sans arret.

En cause le déclencheur Worksheet Change, je suppose car la macro s'execute à chaque changement sur la feuille, et donc boucle a l'infini!

voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Worksheet_Change(ByVal Target As Range)
 
Dim TypeRame As String
TypeRame = Cells(15, 6)
 
        If TypeRame = "" Then
            Range("A39:F90").Select
            Selection.Delete Shift:=xlUp
        End If
 
        If TypeRame = "PSE" Then
            Application.Goto ActiveWorkbook.Sheets("Donnée").Range("S1:W35")
            Selection.Copy
            Sheets("Rame").Select
            Range("B39").Select
            ActiveSheet.Paste
        End If
End Sub
Pouvez-vous m'aider sur le sujet?

Sachant qu'il n'y a pas que ces 2 cas possible.

Je comptais passer par un "SELECT CASE" plutôt qu'une floppé de bloc [IF / END IF], mais je ne sais pas bien m'en servir!

D'avance merci à tous