Un compteur, rien de plus simple... pour vous

Bonjour à tous.

J'ai un bouton qui me permet de comparer deux valeurs sur un paquet de lignes uniquement si elles n'ont pas la même valeur: Sur la ligne 1, je compare C1 et E1

Pour chaque ligne, la comparaison des valeurs ce fait toujours sur les mêmes colonnes C et E.

Dès qu'il y a une différence, j'ai un msgbox qui me demande si je suis d'accord avec la différence des valeurs.

Si je clique sur "oui", alors la valeur de la colonne E prend la place de la colonne C pour annuler la différence constatée sur la ligne.

Ce que je voudrais rajouter à mon code est un compteur pour savoir combien de fois j'ai cliqué sur "oui" afin de connaitre le nombre de validations que j'ai faites.

J'imagine qu'un fichier vous aiderait, mais le mien est trop gros et a quelques données confidentielles.

Si vous en avez vraiment besoin, je peux prendre un peu de temps pour recopier des données et rajouter les macros existantes.

Le but étant de savoir comment inclure un compteur au bouton vbyes du msgbox ainsi que le code approprié.

Le début du code:

Dim info%
dim x%
info=msgbox(".......")
If info=vbyes then
Cells(x, 5).Select
        Selection.Copy
        Cells(x, 3).Select
'compte le nombre de fois où j'ai cliqué sur vbyes

Merci de votre aide.

Bonsoir,

Tu peux joindre un fichier allégé, une vingtaine de lignes anonymisées suffit

avec la macro actuelle

Amicalement

Claude

Re,

Je me disais bien aussi que vous préféreriez un fichier.

Le principe est de cliquer sur le bouton de suivi de modification.

Dès qu'il y a une modif, un msgbox s'ouvre.

Il faut que je compte le nombre de fois où j'ai cliquer sur le bouton "oui" du msgbox.

J'ai l'impression que je me répète

Ci-joint, le fichier.

129suivi-modif-test.xlsm (62.88 Ko)

Bonsoir à tous,

Vois si çà te va

Sub Test_V01()
Dim x%, info%, Cpt%, utilisateur$

    utilisateur = Sheets("connexion").Range("C2") '.Value
    For i = 2 To Sheets.Count
        Sheets(i).Select

        For x = 6 To 66

           If Cells(x, 5).Value <> Cells(x, 3).Value Then
               Cells(x, 5).Select
               info = MsgBox(Cells(x, 4) & Chr(10) & Chr(10) & _
               " est passé de " & Chr(10) & Cells(x, 3) & " à " & Cells(x, 5) & Chr(10) & _
               ". Etes-vous d'accord?" & Chr(10), _
               vbInformation + vbYesNoCancel, "........" & Sheets(i).Name)

               If info = vbCancel Then
                   Sheets("connexion").Select
                   Exit Sub
               End If

               If info = vbNo Then
                   UserForm1.Show
               End If

                If utilisateur = "PASCAL" Then
                    If info = vbYes Then
                        Cpt = Cpt + 1 'compteur
                        Cells(x, 3) = Cells(x, 5)
                    End If
                End If
           End If
        Next x
    Next i
    MsgBox (utilisateur & " a validé " & Cpt & " modifications")
    Sheets("connexion").Range("d2") = " a validé " & Cpt & " modifications"
    info = MsgBox("Le suivi des modifications est terminé", , "Pakaloux dit")
    'Sheets("noms").Select
    Sheets(1).Activate
End Sub

Amicalement

Claude

Comme d'habitude, c'est tout simplement parfait.

Je viens de comprendre que le compteur s'utilisait comme une boucle. En revanche, je comprends qu'il suffit de le placer sous "vbyes" pour qu'il y soit directement associé.

Je pensais que c'était tout de même un peu plus compliqué que ça.

Merci encore de prendre de votre temps à tous pour répondre à toutes les questions qu'on peut poster sur ce forum.

Spécialement pour claude: Je n'oublie pas de valider ta réponse.

-- 19 Aoû 2010, 21:11 --

Tout doucement, j'en apprends un peu plus grâce à vous chaque jour... ou presque .

Encore merci

Rechercher des sujets similaires à "compteur rien simple"