• Initiateur de la discussion Initiateur de la discussion celegorm
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

celegorm

Guest
bonjour à tous,
je débute en vba et j'ai du mal à comprendre comment on exécute le code. Notamment, je ne comprend pas comment utiliser/intégrer ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    'permet de sortir de la procédure si plus d'une cellule est sélectionnée
    '(sinon la suite de la macro renvoie un message d'erreur)
    If Target.Count > 1 Then Exit Sub
    
    MsgBox "Vous venez de modifier la cellule " & Target.Address & _
        " (" & Target.Value & ")"
        
End Sub
J'aimerai surveiller le changement d'une valeur dans la cellule A1... et je ne sais pas comment faire celà
d'avance merci de votre aide
 
Re : worksheet_change

mon script doit me servir à surveiller si des changements interviennent sur un site web. donc en A1 j'ai la donnée qui vient du site et je dois faire apparaitre "a changé " disons B1....
merci de votre aide 🙂
alors j'ai réussi à comprendre qu'il fallait aller dans le sous ensemble change (je sais pas comment ça s'appelle) pour coller mon code et le rendre actif.
j'arrive à faire apparaitre un message dès qu'un changement intervient dans ma feuille
par contre comment tester ma valeur : je ne vois pas comment je peux récupérer l'ancienne valeur en A1 et celle renvoyée par le refresh (qui intervient toutes les 60s).
J'espère que je suis assez clair.
désolé de poser ce genre de question qui doit vous paraitre triviale... je me suis mis à VBA ce matin 🙂
 
Dernière modification par un modérateur:
Re : worksheet_change

tu peux accéder à l'éditeur VBA par ALT F11

Dans mon fichier, j'attribue la valeur de la celule A1 à la cellule CU1, a l'ouverture
thisworkbook
workbook open

puis dans Worksheet_SelectionChange de la feuille 1
je fais un test, si la valeur change, je met un message qui rappelle l'ancienne valeur, dans ton cas, mets ce code dans Worksheet_Change plutot.
tu peux recuperer la valeur ou tu veux en changeant a partir deMsgBox................. tu mets par exemple .Range("B1").value = temp
si PB reviens
Gilbert
 
Dernière édition:
Re : worksheet_change

merci beaucoup, j'ai fait un grand pas 🙂
j'ai mis le code dans "change" et non pas selection change pour que l'on n'ai pas à cliquer. (je sais pas si j'ai bien fait)
j'ai fait en sorte qu'il m'affiche "modifié" en C2. Par contre, si à la suite de "modifié à" je rajoute & time(), celà fait planter Excel (2007)....
pourquoi ?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim temp As String
With Sheets("Feuil1")
temp = Range("E2").Value

If .Range("D2").Value <> .Range("E2").Value Then
.Range("C2").Value = "modifié à"
End If
If temp <> .Range("D2").Value Then
.Range("E2").Value = .Range("D2").Value
End If
End With
End Sub
 
Re : worksheet_change

Re, j'ai testé il vaut mieux le mettre ici, sinon çà boucle, et provoque X erreur !

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim temp As String
With Sheets("Feuil1")
temp = Range("E2").Value
If .Range("D2").Value <> .Range("E2").Value Then
.Range("C2").Value = "modifié à " & CStr(Time())
'If temp <> .Range("D2").Value Then
.Range("E2").Value = .Range("D2").Value
End If
'End If
End With
End Sub

Gilbert
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
511
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
14
Affichages
709
Retour