Ajouter automatiquement des lignes sous conditions

Bonjour à tous,

j'espère que quelqu'un pourra m'éclairer. J'aurai besoin de rajouter automatiquement un nombre de ligne bien défini en fonction de la référence se trouvant sur la première ligne. Quelqu'un saurait il comment faire car je n'ai pas trouvé et insérer une ligne pendant près de 400 ligne voir plus reste assez laborieux.

Merci d'avance

Bonjour

A quel endroit précis veux-tu insérer des lignes?

quelles sont les conditions ??

le nombre à insérer se trouve dans quelle cellule ??

Un extrait de fichier ??

A+

Bonjour, merci de m'avoir répondu aussi rapidement.

J'ai commencé à travaillé les formules mais je patauge vraiment.

Le nombre de ligne dépend de la référence qui doit être renseigné sur le premier onglet. Cette référence doit ensuite être automatiquement chargé sur l'onglet 2 et c'est à ce moment que les lignes doivent apparaître.

Penses-tu que cela soit faisable ?

12essai-1.xlsm (20.01 Ko)

Bonsoir,

une proposition sur base de ce que j'ai compris ...

lancer la macro aargh via alt-F8

13boubou.xlsm (20.09 Ko)

h2so4, c'est presque ça. Comment tu as fait ?

En faite, il faudrait que je puisse remplir au fur et à mesure (car j'ai en moyenne 40 n°d'identifications produit qui s'étale en 10 voir 12 sous produit en fonction du type).

A la place de X1 (n° d'identification produit), il faudrait que je puisse mettre ce que je veux dans las page bleu et que sa apparaisse automatiquement.

C'est possible ?

Ps: quand je clique sur charger cela ne marche pas, j'imagine que c'est du à la macro qui n'est pas rattaché à la case ?

Merci du temps que tu m'accordes.

Bonjour,

fichier adapté, bouton activé

13boubou.xlsm (20.50 Ko)

Bonjour h2so4,

merci infiniment, c'est exactement ça. C'est possible de m'expliquer brièvement comment tu as fait ?

bonjour,

commentaire dans le code

Sub aargh()
'algorithme
'----------
'prendre ref et pid sur fichier à renseigner
'chercher ref dans bdd
' si ref trouvée
'    ajouter une nouvelle ligne dans feuil1
'    copier ref, nip de fichier à renseigner
'    copier désignation et poids de bdd
'    déterminer le classement et le nombre de lignes à créer en fonction du type
'    mettre pid+classement dans feuil1
'    copier la ligne qui vient d'être créée en feuil1 autant de fois que nécessaire en fonction du type
'    pour chaque ligne créée ajouter la numérotation de sous-produit
' si ref non trouvée
'    afficher message ref non trouvée

    Set ws1 = Sheets("bdd")
    Set ws2 = Sheets("feuil1")
    Set ws3 = Sheets("fichier  à renseigner")
    ref = ws3.Range("B5") ' reference
    nip = ws3.Range("C5") ' n° identification produit
    k = ws2.Cells(Rows.Count, 2).End(xlUp).Row 'n° dernière ligne non vide dans ws2
    dl = ws1.Cells(Rows.Count, 1).End(xlUp).Row 'n° dernière ligne non vide dans ws1
    Set re = ws1.Range("B3:B" & dl).Find(ref, lookat:=xlWhole) 'on cherche ref dans ws1
    If Not re Is Nothing Then 'si ref trouvée
        i = re.Row ' i n° de ligne de ws1 contenant ref
        k = k + 1 ' k n° de ligne sur feui1, on incrémente k =nouvelle ligne
        ws2.Cells(k, 1) = ref ' on copie ref
        ws2.Cells(k, 2) = nip ' on copie nip
        ws2.Cells(k, 6) = ws1.Cells(i, 3) 'on copie désignation
        ws2.Cells(k, 7) = ws1.Cells(i, 4) 'on copie poids
        Select Case ws1.Cells(i, 1) 'en fonction du type
        Case 1 'type 1
            nl = 10 'nombre de lignes
            ind = "A" 'classement
        Case 2 'type 2
            nl = 12
            ind = "B"
        Case Else 'autre type
            nl = 1
            ind = ""
        End Select
        ws2.Cells(k, 3) = ws2.Cells(k, 2) & ind 'on génère le classement
        ws2.Cells(k, 1).Resize(, 7).Copy ws2.Cells(k, 1).Resize(nl, 7) 'on copie la ligne nl fois
        For j = 1 To nl 'on numérote les sous-produits
            ws2.Cells(k - 1 + j, 4) = ws2.Cells(k, 3) & "/" & j
        Next j
    Else
        MsgBox "référence " & ref & "non trouvée dans BDD"
    End If
End Sub

Je te remercie beaucoup.

Cordialement

Rechercher des sujets similaires à "ajouter automatiquement lignes conditions"