• Initiateur de la discussion Initiateur de la discussion dhiouf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dhiouf

XLDnaute Occasionnel
Bonjour à tous
J’ai créer une appli pour édition des emplois du temps universitaire , mon problème que je n’arrive pas a trouver la procédure Private Sub Worksheet_Change(ByVal Target As Excel.Range) pour afficher un msgbox si la matière anatomie est saisie plus qu’une seule fois par groupe et par semaine.
Exemple :
Jour matière groupe
lundi anatomie g1
mardi anatomie g1
affichage msgbox « la matière et le groupe existe déjà »
pour être un peu clair les matière et les groupes se trouve dans des listes de validation
pour lundi les matière (C10 :C61) les groupes (F10 :F61)
pour mardi les matières (I10 :I61) les groupes (L10 :L61)
etc.…
Merci d’avance
 
Re : Msgbox

Salut,Dhiouf,Job75

voici une macro mais il faut simplement nommé ton champ de saisie "MonChamp"

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim témoin
 If Not Intersect(Range("MonChamp"), Target) Is Nothing And Target.Count = 1 Then
   témoin = True
   For Each c In Range("MonChamp")
    If c.Value = Target.Value And c.Row <> Target.Row And c.Value <> Empty Then
       réponse = MsgBox("Cette Matiére est en double :" & c.Address & Chr$(10) & _
                 "Voulez-vous la garder ?", vbYesNo + vbInformation, "DETECTION DOUBLON")
            If réponse = vbNo Then
              Target.Value = Empty
              témoin = False
              Exit Sub
            End If
      Exit Sub
    End If
   Next c
   témoin = False
 End If
End Sub

Cordialement
 

Pièces jointes

Re : Msgbox

Ré,

voici un autre code sans nommé les champ il marche pour le groupe et matiére

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim temoin
temoin = False
If Target.Value = "" Then Exit Sub
For Each Cell In Intersect(UsedRange, Cells)
If Cell.Address <> Target.Address And Cell.Value = Target.Value Then
MsgBox "cette inscription existe déjà"
Target.Value = ""
Target.Select
Exit For
End If
Next Cell
Target.Value = ""
temoin = True
End Sub

Cordialement
 

Pièces jointes

Re : Msgbox

Excusé moi, je pose ma question d’une autre manière, est-il possible de dire à excel ne prend en compte la matière anatomie qu’une seule fois pendant la création de l’emploi du temps de la semaine 01/12/2008 au 06/12/2008 par exemple.
 
Re : Msgbox


excusé moi BERRACHED said j'ai fait une erreur ton code cherche tous les doublons c'est pas ça que je veux, mon problème il ne faut pas saisie la matière anatomie en double pendant la création de l'emploi du temps de lundi à samedi.
la création de l'emploi du temps est par semaine, j'ouvre mon classeur et je saisie les matières, les groupes, les salles etc..pour tous les jours de la semaine.
 
Re : Msgbox

Bonjour à tous
j'ai une application sous excel pour créer des emplois du temps, mon problème que je n'arrive pas a afficher une msgbox
si la matière "Anatomie" saisie en double dans les cellules (C10:AB61) avez-vous une idée.
Merci d'avance.
NB: mon problème avec la matière "Anatomie" pour les autres matières on peut les saisies en double.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour