Fonction si dans une macro

Résolu
mds23 Messages postés 18 Statut Membre -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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. mds23 Messages postés 18 Statut Membre
       
      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. mds23 Messages postés 18 Statut Membre
       
      Mais j'ai pour l'instant une erreur sur ma macro
      0
  2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Un brin chinois votre affaire, est-il possible d'avoir votre code, en utilisant le fichier exemple de l'autre jour ?

    0
  3. mds23 Messages postés 18 Statut Membre
     
    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
  4. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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. mds23 Messages postés 18 Statut Membre
       
      effectivement, il y a une erreur sur le code lorsque je saisie un autre chiffre que 1, cependant pour 1 tout fonctionne...
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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