Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

aide sur la réalisation d'une macro

kikouyou

XLDnaute Junior
Développeuse, développeurs,

Je cherche à créer une macro qui fonctionnerai lors de la frappe d'un mot particulier. Cela déclencherai une macro avec une fonction.

le cas serait ou l'utilisateur tape le mot Rayon alors cela déclenche une macro concernant une fonction ( inclut ds le fichier ci joint ).

Je pense que je dois mettre cette macro dans le workbook mais quelles conditions je dois utilisées.

je pense qu'un IF est necessaire

if activecell="Rayon then.....



Je me tiens à votre disposition pour toutes informations complémentaires
 

Pièces jointes

  • post-20-08-08.xls
    13.5 KB · Affichages: 46

Staple1600

XLDnaute Barbatruc
Re : aide sur la réalisation d'une macro

Bonjour



Code:
Private Sub Worksheet_Change(ByVal Target As Range)
[COLOR=Blue][B] If Target.Address(0, 0) = "A9" And Target.Value = "Rayon" Then[/B][/COLOR]
Target.Offset(0, 2).FormulaLocal = "=ARRONDI(B9*0,25;1)"
End If
End Sub
Le code est dans la feuille

Voir fichier joint
 
Dernière édition:

kikouyou

XLDnaute Junior
Re : aide sur la réalisation d'une macro

Merci!

Super JM, merci pour ton aide et ta rapidité sur cette fonction.

Ton exemple me permet d'avancer par contre encore une petite question...

Est il possible que cela ne s'adresse pas que sur la cellule A9? mais pour toute la colonne A?

cela va me permettre de pouvoir avancer sur ma deuxième phase de développement.


Je te remercie


kikouyou
 

Staple1600

XLDnaute Barbatruc
Re : aide sur la réalisation d'une macro

Re



Essayes cette modif:
If Target.Column = 1 And Target.Value = "Rayon" Then

à la place de la ligne en bleu dans mon précédent message.

EDITION: plus ces autres modifs
Si en colonne B, la cellule est vide , la formule ne s'inscrit pas en colonne C
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Value = "Rayon" And Not IsEmpty(Target.Offset(0, 1)) Then
Target.Offset(0, 2).FormulaR1C1 = "=ROUND(RC[-1]*0.25,1)"
End If
End Sub
 
Dernière édition:

kikouyou

XLDnaute Junior
Re : aide sur la réalisation d'une macro

ok merci!

parcontre le calcul s'applique toujours sur B9, je pense insérer la fonction ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Activate

afin que le calcul s'effectue de facon correcte
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…