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 :

Inscrire une valeur dans une feuille pour chaque valeur non nulle d'une liste


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Inscrire une valeur dans une feuille pour chaque valeur non nulle d'une liste
    Bonjour à tous,

    J'essaye actuellement de faire une macro excel (je suis débutant) dans le but de présenter des factures automatiques en fonction de certains paramètres.

    Un problème se pose à moi, j'aurais voulu savoir si vous pouviez me donner une piste afin de réaliser mon code.

    Sur une feuille 2, une colonne contenant la liste de produits, et une avec la quantité voulue.

    Sur la feuille 3, la facture avec un tableau récapitulatif (nom produit, quantité, prix...)

    J'aurais voulu faire un code qui fait que pour chaque valeur quantité (feuille2) non nulle, s'inscrive dans le tableau récap sur la feuille 3 le produit correspondant à cette quantité.

    Ainsi, à chaque fois que le tableur rencontre une valeur de quantité non nulle sur la feuille 2, il rajoute une ligne au tableau sur la feuille 3.

    J'espère avoir été assez clair dans mes explications, je vous remercie d'avance de vos réponses

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    J'aurais voulu faire un code qui fait que pour chaque valeur quantité (feuille2) non nulle, s'inscrive dans le tableau récap sur la feuille 3 le produit correspondant à cette quantité.
    Et s'il y a plusieurs produits avec une quantité à 2 ?

    Peux tu nous éclairer sur la finalité, car la je ne pige pas.
    Jérôme

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Désole si je suis pas clair,

    En gros, je veux qu'à chaque fois que la colonne quantité soit non nulle, la ligne qui correspond soit copiée dans la feuille 3.

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Ci dessous une exemple de code qu'il faudra adapter au niveau des plages de recherche et de destination

    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
    Sub Copyligne()
     
    Dim iSource As Long
    Dim iCible As Long
    Dim shSource As Worksheet
    Dim shCible As Worksheet
     
    Dim intQuantite As Integer
     
    Set shSource = Sheets("Feuil2")
    Set shCible = Sheets("Feuil3")
     
    'Ligne de démarrage de copie dan sla feuille Cible
    iCible = 2
     
    'Quantité recherchée
    intQuantite = 2
     
    'Boucle sur chaque ligne de la feuille source
    For iSource = 2 To shSource.Range("A65536").End(xlUp).Row
     
        'Test si la quantité est égal à la quantité recherchée
        If shSource.Range("B" & iSource).Value = intQuantite Then
            'Si ok alors on copie la ligne dans la feuille Cible
            shSource.Rows(iSource).Copy
            shCible.Range("A" & iCible).PasteSpecial
            iCible = iCible + 1
        End If
     
    Next iSource
     
    End Sub
    Jérôme

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2012, 08h11
  2. Réponses: 3
    Dernier message: 25/10/2010, 15h11
  3. [XL-2007] Incrémenter d'une ligne dans la feuille l'écriture de la saisie d'une textbox
    Par iriane dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/08/2010, 16h40
  4. Rechercher une valeur dans plusieurs feuilles
    Par modus57 dans le forum Excel
    Réponses: 28
    Dernier message: 30/03/2008, 18h54
  5. Réponses: 4
    Dernier message: 20/12/2007, 07h58

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