Bonjour à tous,
Est-il possible d’empêcher (via un message d’alerte) d’avoir une cellule avec le même contenu qu’une autre cellule dans la même colonne ?
Merci d’avance et belle journée.
PBI
Bonjour à tous,
Est-il possible d’empêcher (via un message d’alerte) d’avoir une cellule avec le même contenu qu’une autre cellule dans la même colonne ?
Merci d’avance et belle journée.
PBI
Hello
un peu plus de precison et/ou un fichier pourrait mieux aider a te repondre, parce que en l’etat la reponse est " oui c’est possible"
oui, c’est possible avec « validation »
PBI.xlsx (9,2 Ko)
Bonjour à tous,
J’ai encodé une VBA afin d’évite les doublons dans une colonne que voici :
Private Sub Worksheet_Calculate()
cellValue = cell.Value*
' Ignore les cellules vides*
If cellValue <> "" Then*
' Comptez les occurrences de la valeur dans la plage*
count = Application.WorksheetFunction.CountIf(rng, cellValue)*
' Si plus d'une occurrence, affichez une alerte*
If count > 1 Then*
message = "Attention, l'équipe " & cellValue & " est déjà planifiée pour d'autres travaux à cette date"*
MsgBox message, vbExclamation*
Exit Sub*
End If*
End If*
Et cela fonctionne !
Voyez vous une possibilité si je veux contrôler plusieurs colonnes, voire beaucoup de colonnes ?
Merci d’avance.
PBI
comme ceci ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Isect As Range, c As Range
Set c = Me.Range("D1:Z1000") 'la plage à tester
Set Isect = Intersect(c, Target) 'les cellules qu'on a modifiées
If Isect Is Nothing Then Exit Sub
On Error GoTo ERR
Application.EnableEvents = False 'arrêter les "events"
For Each c0 In Isect.Cells 'traiter chaque cellule modifiée dans la plage àà tester
If c0.Value <> "" Then 'cellule n'est pas vide
If WorksheetFunction.CountIf(c.Columns(c0.Column - c.Column + 1), c0.Value) > 1 Then 'cellule n'est pas unique
MsgBox "Doublon " & c0.Address & " " & c0.Value 'message
c0.ClearContents 'vider
End If
End If
Next
ERR:
Application.EnableEvents = True
End Sub
Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.