Remplir une feuille Excel à partir d'une autre

Salut tout le monde,

je débute en vba et j'aimerai avoir une idée sur le comment procéder dans ce cas, je vous explique, j'ai un classeur comportant deux feuilles, je voudrais remplir l'une à partir de l'autre, en suivant certains conditions, comment y parvenir ?
Cela pourrait se faire automatiquement, ou bien je donne à l'utilisateur accés à un bouton?
Je suis vraiment perdue, je ne sais plus par ou commencer. merci pour votre aide

la feuille N°1 contient deux colonnes A et B avec les quelles nous allons remplir le feuille 2 La colonne A comporte des articles ("string") et la colonne B contient leurs quantités(integer)

j'ai besoin d'avoir dans la feuille 2 les article dans la colonne A et le chiffre "1" dans la colonne B . Le nom d'article doit être répéter autant de fois que la quantité existante de cet article dans la feuille1 ci-joint un exemple

9article.xlsx (9.80 Ko)

Au plaisir de vous lire.

Bonjour CHAMS et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Je rajouterais, que votre poste doit être rédigé simplement, en minuscules avec un minumum de formatages, pas de posts tout en gras ou avec une police excessive par exemple. Je corrige cette fois-ci, mais merci d'y faire attention

Merci de votre participation

Cordialement

Hello,

Voici une piste dis moi si ça te va

@+

29article.xlsm (18.66 Ko)

Bonjour le fil, bonjour le forum,

J'arrive un pétard mais je me permet quand même de proposer le code ci-dessous :

Sub Macro1()
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim K As Integer 'déclare la variable K (incrément)

Set OS = Worksheets("Feuille1") 'définit l'onglet source OS
Set OD = Worksheets("Feuille2") 'définit l'onglet destination OD
OD.Range("A1").CurrentRegion.Offset(1, 0).ClearContents 'efface les anciennes valeurs de l'onglet destination
TV = OS.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
For I = 2 To UBound(TV, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    For J = 1 To TV(I, 2) 'boucle 2 : de 1 à la valeur de la donnée ligne I colonne 2 de TV
        K = K + 1 'incrémente K
        ReDim Preserve TL(1 To 2, 1 To K) 'redimensionne le tableau des lignes TL (2 lignes, K colonnes)
        TL(1, K) = TV(I, 1) 'récupère dans la ligne 1 de TL la donnée en colonne 1 de TV
        TL(2, K) = 1 'renvoie 1 dans la ligne 2 de TL
    Next J 'prochaine valeur de la boucle 2
Next I 'prochaine ligne de la boucle 1
'si K est supérieure à zéro, renvoie le tableau TL transposé dans la cellule A2 redimensionnée de l'onglet OD
If K > 0 Then OD.Range("A2").Resize(K, 2) = Application.Transpose(TL)
End Sub

Merci a vous c'est exactement ça !

Rechercher des sujets similaires à "remplir feuille partir"