IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Journal des modification cellule visualiser info 1ere colonne


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 18
    Par défaut Journal des modification cellule visualiser info 1ere colonne
    Bonjour,

    Ce code journalise toutes les modifications sur une feuille dans l'onglet journal.
    Je souhaite que dans la colonne FA soit ajouté systématiquement la valeur en colonne B de la même ligne sur la feuille.

    Je galère depuis deux heures car je comprends pas la modification que je dois apporter dans ce code.

    Pouvez-vous m'apporter votre aide?

    Nom : 2022_10_04_21_03_38_FA.xlsm_Excel.jpg
Affichages : 271
Taille : 34,0 Ko


    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    Private Sub Workbook_Sheetchange(ByVal feuille As Object, ByVal cible As Range)
    Dim avant() As Variant, apres() As Variant, FA() As Variant, nFA As Variant
     
     
     
    On Error GoTo fin
     
        If feuille.Name = "Journal" Then Exit Sub
        If cible.Columns.Count = Columns.Count Or cible.Rows.Count = Rows.Count Then
            Application.EnableEvents = False
                Application.Undo
            Application.EnableEvents = True
            MsgBox "Impossible d'agir sur une ligne ou une colonne complète !"
            Exit Sub
        End If
     
        Application.EnableEvents = False
        ReDim avant(1 To cible.Rows.Count, 1 To cible.Columns.Count)
        ReDim apres(1 To cible.Rows.Count, 1 To cible.Columns.Count)
        ReDim FA(1 To cible.Rows.Count, 1 To cible.Columns.Count)
        Application.Undo
        For lig = 1 To UBound(avant)
            For col = 1 To UBound(avant, 2)
                avant(lig, col) = cible.Cells(1, 1).Offset(lig - 1, col - 1).FormulaLocal
     
                FA(lig, col) = cible.Cells(lig, 2)
                nFA = cible.Cells(1, 1)
               MsgBox FA(lig, col)
                MsgBox nFA
     
            Next
        Next
        Application.Undo
        For lig = 1 To UBound(apres)
            For col = 1 To UBound(apres, 2)
                apres(lig, col) = cible.Cells(1, 1).Offset(lig - 1, col - 1).FormulaLocal
     
     
            Next
        Next
     
        Worksheets("Journal").Unprotect "CPIRE"
     
     
     
        For lig = 1 To cible.Rows.Count
            For col = 1 To cible.Columns.Count
                If avant(lig, col) <> apres(lig, col) Then
                    With Sheets("Journal").ListObjects(1)
                        .ListRows.Add
                        i = .ListRows.Count
                        With .DataBodyRange
     
     
                            .Cells(i, 1) = Now
                            .Cells(i, 2) = feuille.Name
                            .Cells(i, 3) = cible.Cells(1, 1).Offset(lig - 1, col - 1).Address
                            .Cells(i, 4) = "'" & avant(lig, col)
                            .Cells(i, 5) = "'" & apres(lig, col)
                            .Cells(i, 6) = Environ("username")
                            .Cells(i, 7) = "'" & FA(lig, col)
                        End With
                    End With
                End If
            Next
        Next
     
    fin:
        Application.EnableEvents = True
        If Err Then MsgBox "Erreur #" & Err.Number & " !"
     
    Worksheets("Journal").Protect "CPIRE", True, True, True
     
    End Sub
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/06/2018, 20h02
  2. [XL-2003] Supprimer des cellules vides dans une colonne
    Par floctc dans le forum Excel
    Réponses: 6
    Dernier message: 08/12/2009, 13h32
  3. Infos sur la gestion des modifs à date
    Par famifrench dans le forum SAP
    Réponses: 0
    Dernier message: 30/07/2009, 22h27
  4. Réponses: 3
    Dernier message: 20/06/2007, 22h18
  5. Réponses: 3
    Dernier message: 01/12/2005, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo