Insérer un nombre de lignes en fonction de la valeur d'une case
Résolu
lucieaup
-
Un alcoolique -
Un alcoolique -
Bonjour,
J'ai un fichier d'environ 6 000 lignes que je dois mettre en forme pour y ajouter de Vlookup. C'est le résumé de toute ma campagne 2012 (récolte de tournesol).
Voila mon problème, avec les numéros de série de chaque lot, je dois effectuer une tracabilité. Le soucis c'est que parfois, pour un lot final j'ai plusieurs lots intermédiares (qui ont été mélangés) je voudrais donc voir toutes les qualités intermediaires pour cela il me faut insérer le nombre de lignes adéquat. J'ai réussi à coder pour que chaque fois que j'ai un nouveau numéro de lot il m'insére une ligne mais je voudrais qu'il se base sur le contenu d'une cellule pour savoir le nombre qu'il doit insérer.
Sub AjouteLigne()
Dim i As Integer, Déb As Integer
Dim F As Long
Déb = 1
Worksheets("sheet1").Select
For i = 100 To 2 Step -1
If (Cells(i, 1).Value <> Cells(i - 1, 1).Value) And _
Cells(i, 1).Value <> 0 Then
Range("A" & i).Select
Selection.EntireRow.Insert
Déb = i + 1
End If
Next i
End Sub
Voila mon code, il marche mais je suis bloquée pour la suite...
Merci de votre aide, j'espère avoir été compréhensible...
J'ai un fichier d'environ 6 000 lignes que je dois mettre en forme pour y ajouter de Vlookup. C'est le résumé de toute ma campagne 2012 (récolte de tournesol).
Voila mon problème, avec les numéros de série de chaque lot, je dois effectuer une tracabilité. Le soucis c'est que parfois, pour un lot final j'ai plusieurs lots intermédiares (qui ont été mélangés) je voudrais donc voir toutes les qualités intermediaires pour cela il me faut insérer le nombre de lignes adéquat. J'ai réussi à coder pour que chaque fois que j'ai un nouveau numéro de lot il m'insére une ligne mais je voudrais qu'il se base sur le contenu d'une cellule pour savoir le nombre qu'il doit insérer.
Sub AjouteLigne()
Dim i As Integer, Déb As Integer
Dim F As Long
Déb = 1
Worksheets("sheet1").Select
For i = 100 To 2 Step -1
If (Cells(i, 1).Value <> Cells(i - 1, 1).Value) And _
Cells(i, 1).Value <> 0 Then
Range("A" & i).Select
Selection.EntireRow.Insert
Déb = i + 1
End If
Next i
End Sub
Voila mon code, il marche mais je suis bloquée pour la suite...
Merci de votre aide, j'espère avoir été compréhensible...
A voir également:
- Vba insérer une ligne si cellule contient
- Excel si cellule contient partie texte ✓ - Forum Excel
- Insérer une vidéo dans powerpoint - Guide
- Si cellule contient texte alors ✓ - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
8 réponses
Bonjour,
Alors:
eric
Alors:
Sub insererLig() Dim lig As Long Application.ScreenUpdating = False For lig = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1 If Cells(lig, "A") <> Cells(lig + 1, "A") And Cells(lig, "B") > 0 Then Rows(lig + 1).Resize(Cells(lig, "B")).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Cells(lig + 1, 1).Resize(Cells(lig, "B"), 1) = Cells(lig, "A") End If Next lig Application.ScreenUpdating = True End Sub
eric