Msgbox si doublon

Hello les amis

Je suis à la recherche d'un code VBA pour alerter au traver d'un msgbox

un utilisateur qu'il a saisi une valeur en doublon dans la colonne A d'une feuille

dont l'onglet se nome"feuillesaisie"

S'il était possible de mettre le fond des cellules concernées en rouges ce serait un plus.

Merci d'avance

Bye

Vincent

Bonjour,

Il vaudrait peut-être mieux éviter le doublon en contrôlant

si la saisie existe déjà, et interdire celle-ci.

avec avertissement par Msgbox

Amicalement

Claude

Hello Claude

Tu as entièrement raison, cela est plus efficace

et plein de bon sens.

Toutefois, sais-tu comment faire ????

Merci d'avance pour ta réponse

Vincent

Oui, mais on verra çà demain,

là, je vais dodo

Claude

Good Night Claude

Merci pour ta réponse

A demain

Vincent

-- 02 Juin 2010, 01:24 --

Hello Claude

J'ai trouvé le code suivant que j'ai inséré dans mon fichier

il fontionne mais il annonce un doublon lors de la première saisie de la ligne A4

sur la feuille "LAQ"

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

Dim Ref As String

Dim Cell As Range, Plage As Range

Dim L As Integer

On Error Resume Next

If Application.Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

Ref = Target.Value

L = Target.Row

Set Plage = Range("A5:A" & L - 1)

For Each Cell In Plage

If Cell = Ref Then

MsgBox "Duplication de la Référence en " & Cell.Address, vbCritical, "Thierry 's Démo"

Cell.Activate

Exit Sub

End If

Next Cell

End Sub

Voilà, aussi merci d'avance pour ton aide

Bye

Vincent

Bonjour à tous,

essaye avec

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macros par Claude Dubois pour "lmylvc" Excel-Pratique le 02/06/10
Dim Lg%, x%
Lg = Range("a65536").End(xlUp).Row
    If Not Application.Intersect(Target, Range("a4:a" & Lg)) Is Nothing Then
            If Application.CountIf(Range("a:a"), Target) > 1 Then
                    x = Application.Match(Target, Range("a:a"), 0)
                If x = Target.Row Then
                    x = Application.Match(Target, Range(Target.Offset(1, 0), Cells(Lg, 1)), 0) + Target.Row
                End If
                    MsgBox ("Ce nom existe déjà !" & Chr(10) & "ligne " & x)
                    'Cells(x, 1).Select
                    Target.ClearContents
                    Exit Sub
            End If
    End If
End Sub

Attention:

cette macro ne contrôle pas les doublons déjà existants (ce n'est pas le but !)

mais interdit d'en créer.

Bonne journée

Claude

Hello Claude

Je viens de rentrer du bureau, et je me réjouis de constater

la présence du code tout entier que j'avais tant espéré.

Je te remercie pleinement et vais l'utiliser demain, car ce soir

je suis Out 2h00 au lit 6h00 debout 20h00 à la maison.

Je te suis reconnaissant et te souhaite une bonne soirée

tout en te renouvellant ma gratitude.

Bye

A+ sur le fil, au cas ou je rencontre un pb

Vincent

et alors, çà donne quoi ?

Si bon clôture le poste ici

a resolu2
Rechercher des sujets similaires à "msgbox doublon"