MsgBox

Bonjour à tous,

Voici mon problème, je souhaite qu'une MsgBox apparaise si j'ai 2 cellules ayant une valeur identique sur une meme ligne, et ca pour les lignes 4 à 213.

Comment faire???

D'avance merci

Bonjour

Je n'ai pas trop de détails sur ta feuille de calcul ! ! !

Toutefois, voici un petit programme qui détecte les lignes en double, et delivre un message : MsgBox ("LIGNE EN DOUBLE")

Dans mon exemple la ligne "10" est en double

https://www.excel-pratique.com/~files/doc/ligne_en_double.xls

Je reste à ta disposition pour plus de précisions

Albert

Dit Novicevba45

Bonjour,

à mettre dans le code de la feuille ou tu veux faire ce test

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row >= 4 And Target.Row <= 213 Then
        Range("A" & Target.Row).Select
        For i = 1 To 255
            If ActiveCell.Offset(0, i) = Target And ActiveCell.Offset(0, i).Address <> Target.Address Then
                MsgBox "La cellule " & ActiveCell.Offset(0, i).Address & " a une valeur identique"
            End If
        Next i
        Target.Select
    End If
End Sub

en gros, quand tu entre une valeur dans une des lignes a vérifier, je vérifie les 256 colonnes du tableur pour voir si une autre valeur est identique et je renvoie la cellule concerné.

Merci pour vos réponses

Je viens d'essayé ton code MATH c'est à peu près ce que je voulais, cependant , j'aurais besoin que ce code ne vérifie que certaine colonnes (F, L, R, X...) et que la msgbox n'apparaise que pour des cellules non vides.

Te remerciant par avance.

Icetea

Une petite correction

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row >= 4 And Target.Row <= 213 [color=red]And Target <> ""[/color] Then
       [color=red] If Target.Column = 2 Or Target.Column = 5 Then[/color]
        Range("A" & Target.Row).Select
        For i = 1 To 255
            If ActiveCell.Offset(0, i) = Target And ActiveCell.Offset(0, i).Address <> Target.Address Then
                MsgBox "La cellule " & ActiveCell.Offset(0, i).Address & " a une valeur identique"
            End If
        Next i
        [color=red]End If[/color]
        Target.Select
    End If
End Sub

tu n'as qua mettre le numéro des colonnes que tu veux inclure dans le test dans cette ligne:

 If Target.Column = 2 Or Target.Column = 5 Then

en ajoutant "or Target.Column = TonNuméroColonne" pour chaque nouvelle colonne.

enleve les balises dans le code, je voulais mettre de la couleur mais ca na pas marché.

Un grand merci MATH, ca fonctionne.. SUPER.

Bonjour à tous,

une variante :

Sub essai()
''Macros par Claude Dubois pour "icetea" le 31/03/09
Dim Lg As Long
Dim Cel
    For Each Cel In [f4:f213]
        Lg = Cel.Row
        If WorksheetFunction.CountIf(Range("f" & Lg & ":x" & Lg), Cel) > 1 Then
            Cel.Select
            MsgBox ("Cette ligne a plusieurs fois le nom : " & Cel)
            Range("f" & Lg & ":x" & Lg).Interior.ColorIndex = 6
        End If
    Next Cel
End Sub

Bonne journée

Claude.

édit: ajouté Cel.Select

Rechercher des sujets similaires à "msgbox"