Validation de 2 champs excel

Résolu
Bonjour,

j'aimerais dans ma table enrégistrement excel verifier si mon bateau a deja débarqué a cette date lors de l'entrée de donnée

verifier par exemple b6(date) et b8(bateau) si champ existe dans la table enregistrement par la suite je continue l'entre de mes donnees.

Voici un exemple de mon fichier: https://www.cjoint.com/?AGergxfNjwO

merci de votre aide

4 réponses

  1. Contributeur
    Bonjour.
    Désolé, mais je n'ai pas compris "si champ existe dans la table enregistrement par la suite je continue l'entre de mes donnees" !
    Où se situe la table d'enregistrement ?
    De quel champ s'agit-il ?
    0
    1. Contributeur
      Salut le forum

      Le code de la macro adapté à ta demande.

      Sub enrenr() 
      ' 
      ' enrenr Macro 
      ' 
      With Sheets("BD enr").Range("E:E") 
          Set c = .Find(Range("B8"), LookIn:=xlValues) 
          If Not c Is Nothing Then 
              firstAddress = c.Address 
              Do 
                  If c.Offset(0, -4) = Range("B6") Then 
                  MsgBox "Bateau déjà saisie" 
                  Exit Sub 
                  End If 
                  Set c = .FindNext(c) 
              Loop While Not c Is Nothing And c.Address <> firstAddress 
          End If 
      End With 
      
      MsgBox "Nouvelle saisie" 
      
      With Sheets("BD enr") 
          .Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove 
          Range("A2:I2").Copy 
          .Range("A2").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ 
              SkipBlanks:=False, Transpose:=False 
          .Range("A2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
              :=False, Transpose:=False 
      End With 
      
      Application.CutCopyMode = False 
      
      End Sub 
      

      Mytå

      P.S. Un coin de pays que je connais bien :)

      Quelle prétention de prétendre que l'informatique est récente
      Adam et Eve avaient déjà un Apple ! [MsProject 2003(FR), Excel 2003-2007(FR)]
      0
      1. merci beaucoup de votre aide sa fonctionne
        0
        1. Contributeur
          Re le forum

          Ghislaine, dans ton autre ficelle, j'ai remarquer que tu avais mal recopié mon code.

          Ton enregistrement ce fait en double.

          Cette section est inutile à la suite de mon code

              Sheets("BD enr").Select
              Rows("2:2").Select
              Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
              Range("A2").Select
              Sheets("Ajout d'enrégistrement").Select
              Range("A2:i2").Select
              Selection.Copy
              Sheets("BD enr").Select
              Range("A2").Select
              Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
                  SkipBlanks:=False, Transpose:=False
              Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                  :=False, Transpose:=False
              Sheets("Ajout d'enrégistrement").Select
              
             Range("B6").Select
          


          Mytå
          0