Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA insertion de lignes variable...

2 réponses
Avatar
Domi
Bonjour,

Dans la plage K11:Kxx de mon tableau figurent des valeurs numériques
entières >= à 0. Il n'y a pas (au depart) de lignes vides.
Je voudrais que s'inserrent sous chaque ligne avec K > 0 un nombre de lignes
vides . Ce nombre variant en fonction de la valeur de K
La valeur maxi de K est de 200.
Pour k <=3 : pas de lignes insérées
Pour k > 3 et <= 6: 1 ligne insérée
Pour k > 6 et <= 9: 2 lignes insérées
etc. par tranches de 3

Pas très doué ni en maths ni en VBA, je ne sais pas trop quelle est la
formule qui permet de trouver le nombre de lignes à inserer...
Ex :
Colonne K de depart
3
5
0
10
6
4

Colonne K après
3 (rien)
5 (insertion d'1 ligne)

0 (rien)
10 (insertion de 3 lignes)


6 (insertion de 1 ligne)
4 (insertion de 1 ligne)
etc

Merci de m'aider à resoudre ce casse tête
Domi

2 réponses

Avatar
AV
Sub zzzz()
x = [K65536].End(3).Row
For i = x To 11 Step -1
z = Cells(i, "K").Value
If z <= 3 Then
Else: w = i + 1
Application.ScreenUpdating = False
For j = 1 To Int((z - 1) / 3)
Cells(w, "K").Insert Shift:=xlDown
w = w + 1
Next j
End If
Next i
End Sub

AV
Avatar
Domi
Excellent, ;o)
Domi

"AV" a écrit dans le message de
news:
Sub zzzz()
x = [K65536].End(3).Row
For i = x To 11 Step -1
z = Cells(i, "K").Value
If z <= 3 Then
Else: w = i + 1
Application.ScreenUpdating = False
For j = 1 To Int((z - 1) / 3)
Cells(w, "K").Insert Shift:=xlDown
w = w + 1
Next j
End If
Next i
End Sub

AV