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 !

titooooo

XLDnaute Occasionnel
bonjour

j'ai un code vba qui conserve toute les modification faite sur toutes les pages

mon pb c'est qui me donne la meme valeur dans la colonne avant et après

exemple

ans cellule R11 page data

ancienne valeur 18
nouvelle valeur 39

au lieu qu'il mer 18 et puis 39

il met 39 ( la nlle valeur ) dans la cellule avant et après

mot de passe classeur vba 123456
 

Pièces jointes

Re : feuille espion

Re-bonsoir,

Voici comment j'ai modifié ton code et ce que tu souhaites fonctionne.

VB:
Public ValTmp

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim valsaisie, temp&
    If Sh.Name <> "Espion" Then
        Application.EnableEvents = False
        valsaisie = Target
        'Application.Undo
        temp = Application.CountA(Sheets("espion").Range("a:a")) + 1
        Sheets("espion").Cells(temp, 1) = Sh.Name
        Sheets("espion").Cells(temp, 2) = Target.Address
        Sheets("espion").Cells(temp, 3) = Now
        Sheets("espion").Cells(temp, 4) = ValTmp
        Sheets("espion").Cells(temp, 5) = valsaisie
        Sheets("espion").Cells(temp, 6) = Environ("username")
        Target = valsaisie
        Application.EnableEvents = True
    End If
End Sub


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    ValTmp = Selection.Value
End Sub

a+
 
Re : feuille espion

bonjour

merci mais pas ok

au faite sur mon classeur principale ( donnée confientielle )

j'ai ce code pas la page this workbook

Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
With ws
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="sam", UserInterfaceOnly:=True
End With
Next ws
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Byte
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Accueil" Then Sheets(i).Visible = xlVeryHidden
Next
Me.Save
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim valsaisie, temp&
If Sh.Name <> "Espion" Then
Application.EnableEvents = False
valsaisie = Target
'Application.Undo
temp = Application.CountA(Sheets("espion").Range("a:a")) + 1
Sheets("espion").Cells(temp, 1) = Sh.Name
Sheets("espion").Cells(temp, 2) = Target.Address
Sheets("espion").Cells(temp, 3) = Now
Sheets("espion").Cells(temp, 4) = Target
Sheets("espion").Cells(temp, 5) = valsaisie
Sheets("espion").Cells(temp, 6) = Environ("username")
Target = valsaisie
Application.EnableEvents = True
End If
End Sub



et lorsque je met ton code ca modifie mais ala fermeture error1.jpg
error2.png
 

Pièces jointes

  • error2.png
    error2.png
    21.5 KB · Affichages: 70
- 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

Discussions similaires

S
Réponses
7
Affichages
2 K
syriak
S
E
  • Question Question
Réponses
0
Affichages
763
ExcelUser21
E
S
Réponses
43
Affichages
5 K
Sonia2020
S
Retour