Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche "X" dans une colonne et message d'erreur si "X" présent dans une autre

ronanm

XLDnaute Nouveau
Bonjour à tous,
"que de questions, cela me permets d'apprendre petit à petit."

Voici mon problème du jour. Je vous joins un fichier pour éclaircir ma demande.

Regarde la pièce jointe Fichier audit 3.xls

Voici le code utiliser qui ne repond pas completement à ce que je souhaite.

Code:
If Not Application.Intersect(Target, Range("K:K")) Is Nothing Then
Dim Msg As String, Style As String, Title As String, Answer As String
    Msg = "Voulez-vous créer une fiche de constat 'A AMELIORER' ?" ' Définit le message.
    Style = vbYesNo + vbQuestion
    'Style = vbYesNoCancel + vbQuestion ' Définit les boutons.
    Title = "A Améliorer"    ' Définit les titres.
    Answer = MsgBox(Msg, Style, Title)
    If Answer = vbYes Then AA ' bouton Oui.
    If Answer = vbNo Then confirmNO 'message de confirmation. bouton No
    Exit Sub
Else
If Range("L" & Target.Row) = "X" Or Range("L" & Target.Row) = "x" Then
Dim Msg2 As String, Style2 As String, Title2 As String, Answer2 As String
    Msg2 = "Voulez-vous créer une fiche de constat 'NON-CONFORME' ?" ' Définit le message.
    Style2 = vbYesNo + vbQuestion
    'Style2 = vbYesNoCancel + vbQuestion ' Définit les boutons.
    Title2 = "Non-Conforme"    ' Définit les titres.
    Answer2 = MsgBox(Msg2, Style2, Title2)
    If Answer2 = vbYes Then trameNC ' bouton Oui.
    If Answer2 = vbNo Then confirmNO 'message de confirmation. bouton No
    Exit Sub

End If
End If
End Sub

Mon souci est le suivant, je souhaite rechercher la valeur "X" dans mes colonnes K et L.
Avec la formule suivante
Code:
If Not Application.Intersect(Target, Range("K:K")) Is Nothing Then
il identifie toutes les modifications, même lorsque je le supprime ! et je souhaite dissocié quand j'inscrit X ou quand je supprime X car les opérations qui suivront de sont pas les même.

Du coup j'ai essayer à la place ce code :
Code:
'If Range("K" & Target.Row) = "X" Or Range("K" & Target.Row) = "x" Then
Mais cette fois il détecte également quand je modifie un élément de la même ligne lorsqu'un X est déjà présent en K !!

Comment est ce que je peut modifier le tout pour identifier lorsque j'inscrit (Uniquement) "X" en K et en L, pour continuer sur la suite du code (ouverture de msgbox...) ?

De plus, et la je ne sais pas, un code pour ouvrir un message d'erreur si je met X en colonne K et si il y a déjà un X dans les colonnes J,L,M,N ou O ! (Et pour tous pareil, exemple, si X en J, erreur si on met X en K,L,M,N ou O, ect ...)

Merci beaucoup

Ronan
 

Pièces jointes

  • Fichier audit 3.xls
    94 KB · Affichages: 66
  • Fichier audit 3.xls
    94 KB · Affichages: 64

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…