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

inserer x lignes si rupture de suite numérique

12 réponses
Avatar
jip
bonjour
sous excel 2010 j'ai un tableau avec en colonne A une succession de chiffre=
s du type
1
2
3
5
8
9
10
15
etc...
Je souhaite ajouter autant de lignes vides qu'il manque de chiffres dans la=
suite entre 2 lignes qui se suivent.
Ex. : entre 3 et 5 1 ligne
entre 5 et 8 2 lignes
entre 10 et 15 4 lignes
etc...
Une id=C3=A9e pour automatiser cela ?
Merci

10 réponses

1 2
Avatar
Michd
Bonjour,
Essaie quelque chose comme ceci :
Tu n'as qu'à adapter le nom de la feuille dans la procédure.
'---------------------------------------------------
Sub test()
Dim X As Long, A As Long, G As Long
Dim Rg As Range, T As Long
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
T = Rg.Cells.Count
A = Rg(1,1).row
Do While A <= T
X = Rg(A, 1).Offset(1).Value - (Rg(A, 1).Value + 1)
If X <> 0 Then
For G = 1 To X
Rg(A, 1).Offset(G).EntireRow.Insert
Rg(A, 1).Offset(G).Value = Rg(A, 1).Value + G
Next
T = T + X
A = A + G - 1
End If
A = A + 1
Loop
End Sub
'---------------------------------------------------
MichD
Avatar
Michd
Oups! corrige cette ligne de code :
A = A + G - 1
PAR :
A = A + G
Ça va éviter un certain nombre de boucles inutiles.
MichD
"Michd" a écrit dans le message de groupe de discussion : pf3feo$1e6l$
Bonjour,
Essaie quelque chose comme ceci :
Tu n'as qu'à adapter le nom de la feuille dans la procédure.
'---------------------------------------------------
Sub test()
Dim X As Long, A As Long, G As Long
Dim Rg As Range, T As Long
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
End With
T = Rg.Cells.Count
A = Rg(1,1).row
Do While A <= T
X = Rg(A, 1).Offset(1).Value - (Rg(A, 1).Value + 1)
If X <> 0 Then
For G = 1 To X
Rg(A, 1).Offset(G).EntireRow.Insert
Rg(A, 1).Offset(G).Value = Rg(A, 1).Value + G
Next
T = T + X
A = A + G - 1
End If
A = A + 1
Loop
End Sub
'---------------------------------------------------
MichD
Avatar
jip
Le lundi 4 juin 2018 15:42:46 UTC+2, Michd a écrit :
Oups! corrige cette ligne de code :
A = A + G - 1
PAR :
A = A + G

Merci
J'ai une erreur sur
X = Rg(A, 1).Offset(1).Value - (Rg(A, 1).Value + 1)
Avatar
jip
Le lundi 4 juin 2018 16:31:26 UTC+2, jip a écrit :
Le lundi 4 juin 2018 15:42:46 UTC+2, Michd a écrit :
Oups! corrige cette ligne de code :
A = A + G - 1
PAR :
A = A + G
Merci
J'ai une erreur sur
X = Rg(A, 1).Offset(1).Value - (Rg(A, 1).Value + 1)

Erreur d'execution '13'
"Incompatibilité de type"
Avatar
Michd
voir fichier exemple :
https://www.cjoint.com/c/HFepx11wQKi
Je ne suis pas devin pour savoir les manipulations que tu as faites.
MichD
Avatar
Jacquouille
Ce sujet me passionne, donc j'ai testé.
Le résultat de mes trois tests s'avère positif, sauf si je mets des nombres
décimaux.
Ex: 10,1 / 11 / 11,2 / 13 ....
Let's go ! ? ! ? -))
Jacques
" Le vin est au repas ce que le parfum est à la femme."
.
"Michd" a écrit dans le message de groupe de discussion :
pf3llf$1qdt$
voir fichier exemple :
https://www.cjoint.com/c/HFepx11wQKi
Je ne suis pas devin pour savoir les manipulations que tu as faites.
MichD
Avatar
Michd
Bonjour Jacquouille,
Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres romains!
;-)
MichD
Avatar
Jacquouille
Mais, Denis, c'est tout à fait normal.
Comment veux-tu insérer des lignes avec des tablettes en bois ou en cire?
Mais, pour les décimales, on pourrait envisager un pas de 0,1 au lieu de
1 --->
Pour A = 1 jusque 3
puis : A=A+0,1 ???
-)))
Bonne soirée
Jacques : XL MM III
" Le vin est au repas ce que le parfum est à la femme."
.
"Michd" a écrit dans le message de groupe de discussion :
pf3pb9$293$
Bonjour Jacquouille,
Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres
romains!
;-)
MichD
Avatar
Michd
Le problème avec des décimales, dans une cellule, tu peux avoir, 1 ou 1.01 ou .01. combien de ligne
doit-être ajouté à chaque fois, si tu as de telles données dans la plage de cellules? Tu incrémentes
la ligne manquante de 1 , un dixième ou un centième...?
MichD
Avatar
jip
Le lundi 4 juin 2018 17:25:38 UTC+2, Michd a écrit :
voir fichier exemple :
https://www.cjoint.com/c/HFepx11wQKi
Je ne suis pas devin pour savoir les manipulations que tu as faites.
MichD

Bonjour
Voici mon fichier.
Nouvel essai ce matin au boulot, pas mieux.
Merci quand même
https://cjoint.com/c/HFfgKFHb8TR
1 2