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
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
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
'---------------------------------------------------
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
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
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$1@gioia.aioe.org...
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
'---------------------------------------------------
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 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)
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)
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 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"
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)
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
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$1@gioia.aioe.org...
voir fichier exemple :
https://www.cjoint.com/c/HFepx11wQKi
Je ne suis pas devin pour savoir les manipulations que tu as faites.
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
Bonjour Jacquouille, Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres romains! ;-) MichD
Bonjour Jacquouille,
Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres romains!
;-)
Bonjour Jacquouille, Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres romains! ;-) MichD
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
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$1@gioia.aioe.org...
Bonjour Jacquouille,
Je te le dis tout de suite, ça ne fonctionne pas non plus avec les chiffres
romains!
;-)
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 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
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...?
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 lundi 4 juin 2018 17:25:38 UTC+2, Michd a écrit :