Lacner une macro quand valeur en A2 = "texte"

Fermé
johnny - 11 juin 2016 à 10:34
 Utilisateur anonyme - 11 juin 2016 à 12:15
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
A voir également:

3 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 078
11 juin 2016 à 11:14
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
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
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
Modifié par Vaucluse le 11/06/2016 à 11:16
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
Utilisateur anonyme
11 juin 2016 à 12:15
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