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 :

listing facture en évitant répétition [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Par défaut listing facture en évitant répétition
    Bonjour,

    Pour la réalisation d'une macro qui devra lister des factures, je dois trouver un script qui pourra re connaitre si ma facture est déja listée ou pas.

    Je m'explique:
    -Dans ma feuille 1 j'ai ma facture avec de nombreux éléments dont numéro client, numéro facture et date.
    -ma 2eme feuille contenant la liste et faite de 2 colonnes (nf, nc et date), mon script ajoute une ligne a chaque fois que j'enregistre une nouvelle facture en enregistrant les info liés a cette facture.

    Mon souci est donc le suivant: comment faire pour qu'il arrive à détecter si la ligne (nf, nc, date) existe déja ou pas. et donc éviter qu'il la mette en double comme c'est le cas actuellement.

    j'espère avoir été assez clair. merci d'avance pour toute aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Bien sûr, il est possible de vérifier que la facture n'existe pas déjà. Mais ne s'agit-il pas d'un problème de conception au départ.

    Pourquoi pouvez-vous l'enregistrer deux fois ?

    Vous ne réinitialisez pas les données une fois le traitement terminé ?

    La numérotation n'est pas automatisée ?

    Est-ce que vous sauvegardez chaque facture sous un autre nom ?

  3. #3
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 86
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Par défaut
    Bonjour,

    Pas besoin de tester la ligne, l'élément qui doit rester unique est nf donc un test sur la plage qui contient cet élément avec une fonction NB.SI Méthode (CountIf dans VBA) avant d'inscrire les données dans le listing devrait éviter les doublons

    Dans l'aide d'Excel on trouve :
    Référence du développeur Excel
    WorksheetFunction.CountIf, méthode
    Compte le nombre de cellules à l'intérieur d'une plage qui répondent aux critères donnés.
    Syntaxe

    expression.CountIf(Arg1, Arg2)

    expression Variable qui représente un objet WorksheetFunction.

    Paramètres

    Nom Obligatoire/Facultatif Type de données Description
    Arg1 Obligatoire Plage La plage de cellules dans laquelle vous voulez compter les cellules.
    Arg2 Obligatoire Variante Le critère définissant les cellules affectées. Il peut prendre la forme d'un nombre, d'une expression, d'une référence de cellule ou de texte. Par exemple, 32, "32", ">32", "pommes" ou B4.

    Valeur renvoyée
    Double

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    bonjour

    dans ta feuille 2 tu la liste de facture

    donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sub enregistrer_facture ()
    derlig=sheets(2).range("a6500").end.(xlup).row
    if range("la letre de la colonne ou ya les date:" & derlig).value=date(now) then 
    exit sub 
    else  
    'taa macro qui enregistre 
    end if 
    end sub
    a adapter a ton cas

    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création requête graphique liste factures.
    Par lhprogra dans le forum SAGE
    Réponses: 5
    Dernier message: 15/05/2014, 17h41
  2. problème répétition dans une liste
    Par scary dans le forum Débuter
    Réponses: 10
    Dernier message: 30/11/2008, 16h23
  3. Selection liste de facture
    Par yotop dans le forum IHM
    Réponses: 3
    Dernier message: 18/09/2008, 12h06
  4. Répétition de données sur liste modifiable
    Par salut_tt dans le forum IHM
    Réponses: 2
    Dernier message: 22/04/2008, 20h09
  5. imprimer une facture avec liste de produits variables
    Par ouldfella dans le forum Delphi
    Réponses: 4
    Dernier message: 30/07/2006, 23h10

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