inserer x lignes si rupture de suite numérique

Le
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ée pour automatiser cela ?
Merci
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michd
Le #26477233
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
Michd
Le #26477232
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
jip
Le #26477237
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)
jip
Le #26477236
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"
Michd
Le #26477242
voir fichier exemple :
https://www.cjoint.com/c/HFepx11wQKi
Je ne suis pas devin pour savoir les manipulations que tu as faites.
MichD
Jacquouille
Le #26477246
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
Michd
Le #26477249
Bonjour Jacquouille,
Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres romains!
;-)
MichD
Jacquouille
Le #26477304
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
Michd
Le #26477310
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
jip
Le #26477345
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
Publicité
Poster une réponse
Anonyme