Fonction si dans une macro

Résolu
Bonjour,

je suis en train de créer un logiciel devis-facture, cependant lorsque je transforme un devis en facture, je veux qu'il ne soit plus modifiable.
Or, j'ai besoin d'une macro pour me permettre de saisir un numéro de devis et qu'un message d'erreur s'affiche selon s'il a été modifié ou pas...

besoin d'aide SVP
Merci d'avance.

Cordialement

5 réponses

  1. Bonjour,
    Et pourquoi ne pas donner un numéro de facture en mentionnant en plus le numéro du devis !

    Salutations.
    Le Pingou
    0
    1. J'ai effectivement un numéro de facture, je suis actuellement en train de me lancer sur une recherche V dans la macro, en effet si le numéro de devis saisie est déjà répertorié dans la base de données en tant que "facturé" alors cela affiche un message d'erreur.
      0
    2. Mais j'ai pour l'instant une erreur sur ma macro
      0
  2. Bonjour,
    Un brin chinois votre affaire, est-il possible d'avoir votre code, en utilisant le fichier exemple de l'autre jour ?

    0
    1. Voici le lien du document : https://www.cjoint.com/?3CrwGAjja2O

      je vous copie ci-joint le code :
      Sub VERIF_NUM_DEV()

      Dim NumDev As Integer

      NumDev = InputBox("Quel est le numéro du devis à facturer ?")
      Range("m10").Value = NumDev

      Sheets("Facture - Client").Range("m11").FormulaLocal = "=RECHERCHEV(m10;Tableau16;1;0)"

      If Range("m10").Value = Range("m11") Then
      MsgBox ("Ce devis a déjà été facturé ! ")
      Range("M10").Select
      Selection.ClearContents

      Else
      Range("m10").Value = NumDev

      End If
      End Sub

      Cela fonctionne très bien lorsque le devis a déjà été transformé mais lorsque ce n'est pas le cas la macro ne va pas jusqu'à la fin car il y a une erreur que je n'arrive pas à régler.
      0
      1. Bonjour,
        Merci pour l'information, à première vue je pense qu'il faut modifier votre code, je dois tester avec votre fichier, patience.

        0
        1. effectivement, il y a une erreur sur le code lorsque je saisie un autre chiffre que 1, cependant pour 1 tout fonctionne...
          0
      2. Bonjour,
        Essayez avec ce code :
        Sub VERIF_NUM_DEV()
        Dim NumDev As Integer
        NumDev = InputBox("Quel est le numéro du devis à facturer ?")
        Range("m10").Value = NumDev
        Sheets("Facture - Client").Range("m11").FormulaLocal = "=RECHERCHEV(m10;Tableau16;1;0)"
        If WorksheetFunction.IsNA(Range("m11")) Then
            MsgBox ("ce devis n'existe pas")
            Range("M11").ClearContents
            Exit Sub
        ElseIf Range("m10").Value = Range("m11") Then
            MsgBox ("Ce devis a déjà été facturé ! ")
            Range("M10").Select
            Selection.ClearContents
        Else
            Range("m10").Value = NumDev
        End If
        End Sub
        


        Salutations.
        Le Pingou
        0