Lacner une macro quand valeur en A2 = "texte"

Bonjours

J'aimerais avoir un bouton macro sur ma feuille excel
qui lance une importation de donné et en même temps j'aimerais pouvoir lancer une macro quand la valeur en A2 change

La valeur en A2 sera un nom client et j'aimerais quand quand le nom du client change lance une macro déjà enregistrer.

comme cela quand je lancer la macro importation de donnée il change en même temps les donne client sur la facture.

voici la macro importation :

Sub Importation()
'
' Importation Macro
' Importation des valeur dans facture type
'

'
Sheets("Facture type").Select
Range("A15:G31").Select
Selection.ClearContents
Sheets("Compta").Select
Selection.Copy
Sheets("Facture type").Select
Range("A15").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

End Sub

3 réponses

  1. Bonjour,

    teste comme cela
    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Not Intersect(Target, [A2]) Is Nothing Then
    Sheets("Facture type").Select
    Range("A15:G31").ClearContents
    Sheets("Compta").Copy
    Sheets("Facture type").Select
    Range("A15").Select
    Selection.PasteSpecial Paste:=xlValues
    End If
    End Sub
    0
    1. merci pour votre réponse mais en réalité la valeur de A2 change et pour chaque autre valeur je veut que se soit une autre marco qui se lance. ou dois je noter la macro qui se lance et ou mettre la valeur de A2 ?

      je suis sur vba que depuis 1 semaine, pourrais tu me donner un texte complet car j'y comprends pas grand chose.

      Merci d'avance
      0
  2. Contributeur
    Bonjour

    pour lancer une macro en changeant la valeur de A2, essayez dans le code feuille:

    Private Sub Worksheet_change(ByVal Target As Range)
    If Target.Cells = Cells(2, 1) Then
    Call Importation
    End If
    End Sub

    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    0
    1. Bonjour johnny,

      Je suppose que tu as mis ta sub Importation() dans un module,
      par exemple Module1. Tu n'as pas précisé quelle est la feuille
      où tu entres un nom de client en cellule A2 ; je vais supposer
      que c'est sur la feuille "Facture type".

      Dans ce cas, va sur le code de la feuille "Facture type",
      et mets le code suivant :

      Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$A$2" Then Importation
      End Sub
      

      Attention à ne pas confondre Worksheet_Change(..)
      et Worksheet_SelectionChange(..) !

      Cordialement.  😊
       

      0