IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Aide Sur une application de facturation sous VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 7
    Par défaut Aide Sur une application de facturation sous VBA Excel
    je fais une application et tout passe bien mais le seul probleme c'es que quand je vais valider la facture ca ne passe pas.
    les autres conditions passent mais au niveau où toutes les conditions sont bonnes et qu'il faut valider la facture ça dit "OBJET REQUIS" et là je ne comprends rien.
    Votre aide me sera necessaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Sub verification_facture() 
    Dim cellule As Range: Dim test As Boolean 
    test = False 
     
    For Each cellule In Range("D626") 
    If (cellule.Value = "Rupture de Stock") Then 
    test = True 
    Exit For 
    End If 
    Next cellule 
     
    If (test = True) Then 
    MsgBox ("Des articles hors stock figurent dans la facture, il n'est pas possible de continuer") 
    Exit Sub 
    End If 
     
    Dim ligne As Integer: ligne = 2 
    Dim valeur_stock As Integer: valeur_stock = 0 
    Dim valeur_demandée As Integer: valeur_demandée = 0 
    Dim ref_cat As String: Dim ref_facture As String 
    Dim choix_utilisateur As Byte 
     
    While (Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 5).Value <> "") 
    valeur_stock = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 5).Value 
    ref_cat = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 3).Value 
     
     
    For Each cellule In ThisWorkbook.Worksheets("facturation").Range("C6:C26") 
     
    If (cellule.Value = ref_cat) Then 
    valeur_demandée = ThisWorkbook.Worksheets("facturation").Cells(cellule.Row, 5) 
    If (valeur_demandée > valeur_stock) Then 
    MsgBox ("La référence..." & cellule.Value & "...ne possède pas assez de Stock") 
    test = True 
    End If 
    End If 
    Next cellule 
     
    ligne = ligne + 1 
    Wend 
    If (test = True) Then 
    Exit Sub 
     
    Else 
    choix_utilisateur = MsgBox("La facture semble correcte,souhaitez-vous l'imprimer et mettre à jour les stock??", vbYesNo) 
    If (choix_utilisateur = 6) Then 
    For Each cellule In thisworkbooks.Worksheets("facturation").Range("C6:C26") 
    ligne = 2 
    While (Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 5).Value <> "") 
    If (cellule.Value = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 3).Value) Then 
    Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 5).Value = Workbooks("catalogue.xlsx").Worksheets("Feuil1").Cells(ligne, 5).Value - thisworkbooks.Worksheets("facturation").Cells(cellule.Row, 5).Value 
    End If 
    ligne = ligne + 1 
    Wend 
    Next cellule 
    Else 
    Exit Sub 
    End If 
    End If 
    ThisWorkbook.Worksheets("facturation").PrintPreview 
    End Sub

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Corriger la faute d'orthographe dans la ligne déclenchant l'erreur ‼

    Astuce : quand un mot réservé du langage reste totalement en minuscules, alors il est mal orthographié …

    _________________________________________________________________________________________________________
    Je suis Paris, Berlin, Nice, Bruxelles, Charlie, …

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    comme les frères DuponT (ou un D ....) :

    je dirais même plus, corriger LES deux fautes d'orthographes sur deux lignes de ta procédure, toujours sur le même mot

    je mirais dême plus, lorriger ces feux dautes d'orthographes sur deux pignes de ta rocédure, moujours sur le tême tot.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Salut joe !

    Je me suis arrêté à la première ligne pouvant déclencher le même message d'erreur
    mais c'est vrai il y a tellement de lignes n'allant pas ou ne servant à rien …

    Beaucoup de code inutile - notamment des boucles - en utilisant une simple formule de calculs, même en VBA …

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour (et un salut à Marc)
    erreur en effet manifeste à la ligne 47 du code montré.
    Je déplore personnellement au passage que ce code, sans indentation, donne des maux de tête et rend tant son analyse que (par voie de conséquence) sa maintenance éventuelle, pour le moins douloureuses. Ce n'est pas le signe d'un vrai soin apporté à ce que l'on écrit.

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Salut Jacques !

    Je n'ai pas indiqué le numéro de la ligne car c'est au demandeur de l'effectuer
    dès sa présentation initiale devant déjà débuter par une salutation !

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Code on ne peut plus intéressant! Combien de boucles escomptes tu faire avec un seule cellule!
    Suis d'avis qu'un teste serait préférable à une boucle!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each cellule In Range("D626")
    Un code trouvé sur internet mérite qu'on si intéresse afin de mieux l'adapter à son besoin.

  8. #8
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonjour à tous et meilleurs vœux pour 2017,
    il a dû vouloir écrire cela ... mais ne l'a pas fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each cellule In Range("D6:D26")

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/01/2011, 15h41
  2. aide sur une application mfc
    Par selmani300 dans le forum MFC
    Réponses: 4
    Dernier message: 29/08/2007, 09h30
  3. Aide sur une application d'agence d'assurance
    Par cheva dans le forum ASP
    Réponses: 2
    Dernier message: 11/04/2007, 13h38
  4. aide sur une application
    Par sofianoo dans le forum Delphi
    Réponses: 1
    Dernier message: 12/03/2007, 18h16
  5. aide sur une application
    Par sofianoo dans le forum Bases de données
    Réponses: 12
    Dernier message: 12/03/2007, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo