Macro évènementielle au changement d'une cellule

Bonjour,

J'ai un problème. Je souhaite réaliser une macro évènementielle qui s'exécute lorsqu'on modifie une cellule.

Ci-dessous, la macro :

Private Sub Worksheet_Change(ByVal Target As Range)

Target = Range("A24")

Sheets("Facture").Select

If Target.Address = Range("D33").Value Or Range("D34") Or Range("D35") Or Range("D36") Or Range("D37") Or Range("D38") Or Range("D39") Then

MsgBox ("Attention cette étape a déjà été facturée")

Else

End If

End If

End Sub

Bonjour,

Un code seul parfois n'est pas parlant de ton VRAI problème. Merci de nous joindre le fichier qui va avec pour une aide adaptée.

Voici le fichier

Re,

Bon, même avec le fichier je n'arrive pas saisir ce que tu veux faire. Veut-tu expliquer en quelques mots ce que tu veut effectivement faire ?

Une astuce : si l'évènement correspond à une feuille, mettre le code dans le module de la feuille concernée et pas dans le module ThisWorkbook.

J'aimerais que quand la personne sélectionne une étape d'achèvement, il y ait un message d'erreur si il la sélectionne une deuxième fois sur le même chantier/client. Merci en tout cas

Re,

Insère le code suivant dans le module de la feuille "Facture" et teste :

Private Sub Worksheet_Change(ByVal Target As Range)
   'la cellule de saisie ou modification
    If Not Intersect(Target, [A24]) Is Nothing Then
       'voir si la plage comparée contient le même texte que la cellule de saisie
        If WorksheetFunction.CountIf(Range("D33:D39"), Target) > 0 Then
            MsgBox "Attention cette étape a déjà été facturée"
            Target.ClearContents
        End If
    End If
End Sub

Remarque : le code est conçu à partir des éléments fournis dans ta première demande, il faut surement l'adapter à ton cas réel

Merci beaucoup, mais ça ne marche toujours pas ...

Re,

Ce n'est pas une réponse précise. Que testes-tu ? Comment fais-tu le test ? Qu'Est-ce qui ne marche pas ?

Je modifie la cellule et je regarde si le message s'affiche mais il ne s'affiche pas...

Re,

Merci de retourner le fichier modifié avec la nouvelle macro.

Le voici désolée du retard je pensais l'avoir envoyé.

Re,

Je modifie la cellule A24 de l'onglet "Facture" avec le libellé "Achèvement des fondations". Je valide et le message m'averti et efface la saisie. Je ne sais pas ce que tu veux hormis cela. Cela correspond bien à ta demande.

Je n'ai pas de message d'erreur qui s'affiche..

Re,

Pourtant j'ai effectué le test sur le fichier que tu viens de m'envoyer. De mon coté, ça marche.

Comment est-ce que vous faites ? Vous changez juste le nom dans la liste déroulante sur la facture ?

Re,

Je te retourne ton fichier. Le test est maintenant fait avec la cellule A23 alors que ce n'est pas ta demande initiale. Essaye de sélectionner un élément déjà facturé dans la liste déroulante.

Ca marche! Merci beaucoup!

Rechercher des sujets similaires à "macro evenementielle changement"