Comment lancer automatiquement cette macro?

Résolu
schpop12 Messages postés 51 Statut Membre -  
schpop12 Messages postés 51 Statut Membre -
Bonjour,

J'ai écrit cette macro. J'ai cherché dans le forum mais je comprend pas comment faire pour qu'elle s'éxécute automatiquement quand B41 change.
Si quelq'un peut me donner une solution précise je débute.

Sub CopieBV()

If Range("B41").Value = "BV1" Then
Range("C12:I12").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If

If Range("B41").Value = "BV2" Then
Range("C13:I13").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If

If Range("B41").Value = "BV3" Then
Range("C14:I14").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If

End Sub

Merci
Configuration: Windows 2000
Internet Explorer 6.0

6 réponses

  1. Fxbrg Messages postés 715 Statut Membre 199
     
    Salut,

    Tu peux utiliser ça :

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = [b41] Then CopieBV
    End Sub

    à mettre sur le code de la feuille où est cette fameuse cellule B41.
    0
  2. schpop12 Messages postés 51 Statut Membre 6
     
    Salut ca marche mais il y'a un message d'erreur
    il marque incompatibilité de type et il me souligne

    If Target = [B41] Then

    Comment supprimer le message d'erreur?
    0
  3. amigo
     
    Salut

    essayes plutot

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target = "B21" Then CopieBV
    End Sub
    0
  4. schpop12 Messages postés 51 Statut Membre 6
     
    Salut

    bon je résume j'ouvre VBE, je vais dans explorateur de projet. je double clique sur la feuille sur laquelle je travaille.
    Dans la fenétre qui s'ouvre je colle ton code.

    Ca marche toujours pas il ce passe plus rien.

    Tu voulais écrire B41 et pas B21 ? ca marche avec aucun des 2.

    Je comprend rien.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amigo
     
    en effet c'est pas comme ça

    voila comment l'ecrire

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$41" Then CopieBV
    End Sub

    A+.
    0
  7. schpop12 Messages postés 51 Statut Membre 6
     
    Excellent ca marche Nickel

    Merci beaucoup
    0