Etendre une commande VBA sur une même feuille

Bonjour a tous et toutes,

J'ai besoin d'aide pour dupliquer une commande VBA que j'ai faite.

J'ai un petit calcul qui se fait automatiquement, et ma macro s'active lorsque je clique sur une cellule prédéfinie.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0) = "D2" Then Application.Run "essai"
End Sub

Sub essai()
Dim nombre_de_oui As Integer
Dim nombre_de_reponses As Integer
Dim taux_satisfaction As Single

nombre_de_reponses = Range("b2").Value
nombre_de_oui = InputBox("nombre de oui")

taux_satisfaction = (nombre_de_oui / nombre_de_reponses)
MsgBox (taux_satisfaction)

Range("c2").Value = nombre_de_oui

Range("d2").Value = taux_satisfaction

End Sub
image

Pour l'instant c'est la case D2 qui lance ma macro mais souhaite pouvoir faire la même chose sur plusieurs cellules (D3;D4;D5 etc...)

merci par avance de votre aide.

bonne journée à tous et toutes

Bonjour dekn et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Concernant votre problématique, il faut utiliser INTERSECT()

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Range("D2:D7"), Target) Is Nothing Then Call Essai
End Sub

@+

Merci beaucoup, cela fonctionne.

Est ce que je dois utiliser intersect pour la suite de mon tableau ?

Car maintenant, il faut qu'en fonction de la cellule qui active la macro, le code comprennes qu'il faut prendre et restituer les données sur cette même ligne.

Par ex: si je clique sur D3, la macro s'active, mais il faut prendre les données de la case C3 et restituer le résultat en D3

Merci pour votre aide précieuse !

image image
Rechercher des sujets similaires à "etendre commande vba meme feuille"