Bonjour a tout le monde , bonjour le forum
Mes compétences en VBA étant limité, mais j'en apprends tous les jours, je sollicite auprés de vous une aide afin de modifier un code que voici :
Comme vous l'aurez compris, cette macro et pour tenir a jour une carte de fidélité .Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Sub carte_de_fidelite() Client = Range("AC8").Value Montant = Range("AC9").Value Sheets("Clients").Select Range("F5").Select Do While ActiveCell.Value <> Client And ActiveCell.Value <> "" ActiveCell.Offset(1, 0).Select Loop If ActiveCell.Value = "" Then MsgBox ("Client non trouvé") Sheets("Facture").Select Exit Sub End If ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(0, 1).Value + 1 ActiveCell.Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value + Montant If ActiveCell.Offset(0, 1) = Range("A3").Value Then Bon = ActiveCell.Offset(0, 2) * Range("D2").Value ActiveCell.Offset(0, 1).Value = 0 ActiveCell.Offset(0, 2).Value = 0 Sheets("Facture").Select MsgBox ("Carte de fidélité complète !!" & Chr(13) & "Remise de 10% : " & Format(Bon, "0.00") & " Euros") End If Sheets("Facture").Select End Sub
La macro travaille avec 2 feuilles "Facture" et "Client"
Quand ma facture est terminée , je lance la macro qui recherche dans la colonne F5 de la feuille "Client" le nom de celui-ci.
Si le nom n'est pas trouvé , retour d'un message " client non trouvé " ligne 12
A l'inverse le calcul s'effectue si le client est trouvé
J'aimerai , si le client n'est pas trouvé dans la colonne F5 de la feuille "Client", que l'ajout se fasse automatiquement car celui-ci est connu par le range effectué depuis ma feuille "Facture" en "AC8".
Quand le client est ajouté, la macro refait la recheche ( afin d'eviter les doublons ) puis attribut au client ce dont il a droit.
J'espére que cela est possible
Merci de votre aide