Bonsoir,
j'ai cherché dans les forums mais je ne trouve pas comment après avoir changé la valeur d'une cellule précise, en tapant sur 'Entrée' la macro s'active.
Merci d'avance.
Bonsoir,
j'ai cherché dans les forums mais je ne trouve pas comment après avoir changé la valeur d'une cellule précise, en tapant sur 'Entrée' la macro s'active.
Merci d'avance.
bonjour,
il te faut, je pense, cette macro qui détecte un changement.
le nom de la sub ne doit pas être modifié pour être reconnu.
cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Worksheet_Change(ByVal Target As Range)
En effet, je l'utilise mais je ne sais pas où (ou comment) la mettre pour spécifier à quelle cellule elle se rapporte.
Quand j'affecte ma macro à un bouton ça marche bien sinon mais c'est fastidieux de devoir cliquer deçu à chaque ois!
merci
bonjour,
comme te l'as dit nibledispo il faut utiliser l'évènement "Private Sub Worksheet_Change" de la feuille.
Pour identifier la cellule qui déclenchera la macro il faut te servir de Target qui représente la ou les cellules sélectionnées dans ta feuille.
dans le code si dessous on vérifie si la cellule modifiée est la cellule A1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Worksheet_Change(ByVal Target As Range) 'si l'adresse de la cellule sélectionnée et modifiée est A1 alors If Target.Address = "$A$1" Then MsgBox ("Cellule modifiée") 'affiche un message 'en fait tu met ici le code que tu souhaites faire si la cellule est modifiée End If
Merci rvtoulon et nibledispo pour vos infos, elles m'aident à avancer. Toutefois je continue de buter sur un point.
Voilà mon code,
Ce que je ne comprends pas c'est où est-ce que je dois le mettre. Dans la barre défilante de "Général" de Microsoft Visual Basic?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub Worksheet_Change(ByVal Target As range) If Target.Address = "$A$4" Then Dim Trouve As range, Plage As range Dim Valeur_cherchee As String With Sheets("Données") Set Plage = .range("A5:A5007") Valeur_cherchee = range("a4").Value Set Trouve = .range(Plage.Address).Cells.Find(what:=Valeur_cherchee, Lookat:=xlWhole) If Trouve Is Nothing Then MsgBox " Cet chèvre n'est pas encore enrigistrée!" Else TextBox1 = Trouve.Offset(0, 1).Value End If End With Set Trouve = Nothing Set Plage = Nothing End If End Sub
Merci
bonjour,
tu dois comme te l'a écrit rvtoulon le mettre sur le feuille excel concernée.
C'est à dire sur feuil1 ou feuil2 ........ proposée dans l'explorateur de projet.
à +
Partager