Si doublons ===> msgbox

Moi_Bis

XLDnaute Nouveau
Bonjour à tous.

J'ai placé ce code:

Sub Alasuite()

' Selectionne la première cellule du tableau
Range("M1").Select

' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
NbLigne = NbLigne + 1
Selection.Offset(1, 0).Select

Loop

ActiveCell.Value = Range("E5").Value

End Sub

Je désire placer un code à la suite de celui-ci qui permettrai d'éviter le doublon en colonne M et d'afficher un msgbox ===> "Alerte"

Merci à l'avance
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Si doublons ===> msgbox

Bonsoir Moi_Bis,

Un essai dans le fichier joint. Un changement de la valeur de la cellule E5 provoque l'insertion de la valeur de E5 dans la colonne M (sauf si doublon)

le code:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  'est ce la valeur de E5 qui a changé ?
  If Target.Address = Range("E5").Address Then
    'si OUI, est ce que la valeur de E5 est déjà dans la colonne M ?
    If Range("M:M").Find(what:=Range("E5").Value, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then
      ' NON, on la rajoute en fin de colonne M
      Range("M" & Rows.Count).End(xlUp).Offset(1) = Range("E5").Value
    Else
      ' OUI, message d'alerte
      MsgBox Range("E5") & " déjà présent au sein de la colonne M"
    End If
  End If
End Sub
 

Pièces jointes

  • Moi_Bis v1.xlsm
    15 KB · Affichages: 63
Dernière édition:

vmatthieu

XLDnaute Occasionnel
Re : Si doublons ===> msgbox

bonsoir le forum,
je pense que tu peux le faire avec un objet dictionnary (voir le site de boisgontier)
Set d = CreateObject("Scripting.Dictionary")
'-- ajout de clés/items
If d.Exists(ta cellle) Then
msgbox ("alerte")
else
d.Item(tacellule) = ta cellule
end if

si j'ai bien compris ??
 

Discussions similaires

Réponses
12
Affichages
565
Réponses
12
Affichages
559
Réponses
44
Affichages
4 K

Statistiques des forums

Discussions
312 163
Messages
2 085 859
Membres
103 005
dernier inscrit
gilles.hery