Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'ins=E9rer une ligne =E0 chaque fois que la valeur de la
ligne suivant est sup=E9rieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait ins=E9rer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'ins=E9rer une ligne si la ligne
suivante diff=E8re, mais je n'arrive pas =E0 la modifier pour que ca
marche pour mon probl=E8me :((((
Voici la macro en question :
Sub Insertion()
ligne =3D Cells(65536, 1).End(xlUp).Row
For debut =3D ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'ins=E9rer une ligne si la ligne suivante est sup=E9rieure +1.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides
dans ta plage de cellules ....
'-------------------------------
Sub test()
Dim ActCell As Range
Dim NextCell As Range
'Adapte le nom de la feuille (Propriété name de la feuille
'dans la fenêtre vba , de même que la cellule de départ
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
If NextCell - ActCell > 1 Then
NextCell.EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
'-------------------------------
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
yad_18
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Merci beaucoup ca marche très bien! :)
Par contre il reste le problème si dans ma suite j'ai un trou de 2
(par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas
deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides
dans ta plage de cellules ....
'-------------------------------
Sub test()
Dim ActCell As Range
Dim NextCell As Range
'Adapte le nom de la feuille (Propriété name de la feuille
'dans la fenêtre vba , de même que la cellule de départ
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
If NextCell - ActCell > 1 Then
NextCell.EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
'-------------------------------
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Jacky
Bonjour,
Avec la numérotation en plus... Ceci: '--------- Sub Insertion() Application.ScreenUpdating = False ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then x = Cells(debut, 1).Value For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1 x = x - 1 Cells(debut, 1).EntireRow.Insert Cells(debut, 1).Value = x Next End If Next End Sub '---------------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Bonjour,
Avec la numérotation en plus...
Ceci:
'---------
Sub Insertion()
Application.ScreenUpdating = False
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then
x = Cells(debut, 1).Value
For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1
x = x - 1
Cells(debut, 1).EntireRow.Insert
Cells(debut, 1).Value = x
Next
End If
Next
End Sub
'---------------
--
Salutations
JJ
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Avec la numérotation en plus... Ceci: '--------- Sub Insertion() Application.ScreenUpdating = False ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then x = Cells(debut, 1).Value For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1 x = x - 1 Cells(debut, 1).EntireRow.Insert Cells(debut, 1).Value = x Next End If Next End Sub '---------------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
yad_18
Merci beaucoup Jacky c'est vraiment exactement ce qu'il me fallait!
Yad.
Bonjour,
Avec la numérotation en plus... Ceci: '--------- Sub Insertion() Application.ScreenUpdating = False ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then x = Cells(debut, 1).Value For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1 x = x - 1 Cells(debut, 1).EntireRow.Insert Cells(debut, 1).Value = x Next End If Next End Sub '---------------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Merci beaucoup Jacky c'est vraiment exactement ce qu'il me fallait!
Yad.
Bonjour,
Avec la numérotation en plus...
Ceci:
'---------
Sub Insertion()
Application.ScreenUpdating = False
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then
x = Cells(debut, 1).Value
For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1
x = x - 1
Cells(debut, 1).EntireRow.Insert
Cells(debut, 1).Value = x
Next
End If
Next
End Sub
'---------------
--
Salutations
JJ
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Merci beaucoup Jacky c'est vraiment exactement ce qu'il me fallait!
Yad.
Bonjour,
Avec la numérotation en plus... Ceci: '--------- Sub Insertion() Application.ScreenUpdating = False ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) - Cells(debut - 1, 1) > 1 Then x = Cells(debut, 1).Value For i = 1 To Cells(debut, 1) - Cells(debut - 1, 1) - 1 x = x - 1 Cells(debut, 1).EntireRow.Insert Cells(debut, 1).Value = x Next End If Next End Sub '---------------
-- Salutations JJ
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
MichDenis
Est-ce que ceci résout ta difficulté ?
Sub test() Dim A As Integer, ActCell As Range, NextCell As Range Set ActCell = Feuil1.Range("A1") Do While ActCell <> "" Set NextCell = ActCell.Offset(1) A = NextCell - ActCell If A > 1 Then NextCell.Resize(A - 1).EntireRow.Insert End If Set ActCell = NextCell Loop End Sub
a écrit dans le message de news:
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Est-ce que ceci résout ta difficulté ?
Sub test()
Dim A As Integer, ActCell As Range, NextCell As Range
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
A = NextCell - ActCell
If A > 1 Then
NextCell.Resize(A - 1).EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
<yad_18@yahoo.fr> a écrit dans le message de news:
1162653264.598939.149880@i42g2000cwa.googlegroups.com...
Merci beaucoup ca marche très bien! :)
Par contre il reste le problème si dans ma suite j'ai un trou de 2
(par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas
deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides
dans ta plage de cellules ....
'-------------------------------
Sub test()
Dim ActCell As Range
Dim NextCell As Range
'Adapte le nom de la feuille (Propriété name de la feuille
'dans la fenêtre vba , de même que la cellule de départ
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
If NextCell - ActCell > 1 Then
NextCell.EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
'-------------------------------
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Sub test() Dim A As Integer, ActCell As Range, NextCell As Range Set ActCell = Feuil1.Range("A1") Do While ActCell <> "" Set NextCell = ActCell.Offset(1) A = NextCell - ActCell If A > 1 Then NextCell.Resize(A - 1).EntireRow.Insert End If Set ActCell = NextCell Loop End Sub
a écrit dans le message de news:
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
yad_18
Ca marche aussi merci :) C'est interessant de voir comme par 2 méthodes différentes on peut arriver au meme résultats! (et d'autant plus difficile d'essayer d'y comprendre quelque chose...)
Yad.
Est-ce que ceci résout ta difficulté ?
Sub test() Dim A As Integer, ActCell As Range, NextCell As Range Set ActCell = Feuil1.Range("A1") Do While ActCell <> "" Set NextCell = ActCell.Offset(1) A = NextCell - ActCell If A > 1 Then NextCell.Resize(A - 1).EntireRow.Insert End If Set ActCell = NextCell Loop End Sub
a écrit dans le message de news:
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.
Merci d'avance pour votre aide.
Ca marche aussi merci :)
C'est interessant de voir comme par 2 méthodes différentes on peut
arriver au meme résultats! (et d'autant plus difficile d'essayer d'y
comprendre quelque chose...)
Yad.
Est-ce que ceci résout ta difficulté ?
Sub test()
Dim A As Integer, ActCell As Range, NextCell As Range
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
A = NextCell - ActCell
If A > 1 Then
NextCell.Resize(A - 1).EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
<yad_18@yahoo.fr> a écrit dans le message de news:
1162653264.598939.149880@i42g2000cwa.googlegroups.com...
Merci beaucoup ca marche très bien! :)
Par contre il reste le problème si dans ma suite j'ai un trou de 2
(par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas
deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides
dans ta plage de cellules ....
'-------------------------------
Sub test()
Dim ActCell As Range
Dim NextCell As Range
'Adapte le nom de la feuille (Propriété name de la feuille
'dans la fenêtre vba , de même que la cellule de départ
Set ActCell = Feuil1.Range("A1")
Do While ActCell <> ""
Set NextCell = ActCell.Offset(1)
If NextCell - ActCell > 1 Then
NextCell.EntireRow.Insert
End If
Set ActCell = NextCell
Loop
End Sub
'-------------------------------
<yad_18@yahoo.fr> a écrit dans le message de news:
1162647451.270873.192280@k70g2000cwa.googlegroups.com...
Bonjour,
Novice ans la programmation, je souhaite trouver une macro me
permettrant d'insérer une ligne à chaque fois que la valeur de la
ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1
2
3
4
5
7
8
10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne
suivante diffère, mais je n'arrive pas à la modifier pour que ca
marche pour mon problème :((((
Voici la macro en question :
Sub Insertion()
ligne = Cells(65536, 1).End(xlUp).Row
For debut = ligne To 2 Step -1
If Cells(debut, 1) > Cells(debut - 1, 1) Then _
Cells(debut, 1).EntireRow.Insert
Next
End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet
d'insérer une ligne si la ligne suivante est supérieure +1.
Ca marche aussi merci :) C'est interessant de voir comme par 2 méthodes différentes on peut arriver au meme résultats! (et d'autant plus difficile d'essayer d'y comprendre quelque chose...)
Yad.
Est-ce que ceci résout ta difficulté ?
Sub test() Dim A As Integer, ActCell As Range, NextCell As Range Set ActCell = Feuil1.Range("A1") Do While ActCell <> "" Set NextCell = ActCell.Offset(1) A = NextCell - ActCell If A > 1 Then NextCell.Resize(A - 1).EntireRow.Insert End If Set ActCell = NextCell Loop End Sub
a écrit dans le message de news:
Merci beaucoup ca marche très bien! :) Par contre il reste le problème si dans ma suite j'ai un trou de 2 (par exemple si je passe de 10 à 13) ca n'insère qu'une ligne et pas deux. Je vais voir si je peux régler ca.
Essaie ceci :
Il a été présumé que tu n'as pas de lignes vides dans ta plage de cellules ....
'------------------------------- Sub test()
Dim ActCell As Range Dim NextCell As Range 'Adapte le nom de la feuille (Propriété name de la feuille 'dans la fenêtre vba , de même que la cellule de départ Set ActCell = Feuil1.Range("A1")
Do While ActCell <> "" Set NextCell = ActCell.Offset(1) If NextCell - ActCell > 1 Then NextCell.EntireRow.Insert End If Set ActCell = NextCell Loop End Sub '-------------------------------
a écrit dans le message de news:
Bonjour, Novice ans la programmation, je souhaite trouver une macro me permettrant d'insérer une ligne à chaque fois que la valeur de la ligne suivant est supérieure de plus de 1.
Par exemple j'ai une colonne avec :
1 2 3 4 5 7 8 10
Il faudrait insérer une ligne entre 5 et 7 et 2 lignes entre 8 et 10
J'ai trouver une macro permettant d'insérer une ligne si la ligne suivante diffère, mais je n'arrive pas à la modifier pour que ca marche pour mon problème :((((
Voici la macro en question :
Sub Insertion() ligne = Cells(65536, 1).End(xlUp).Row For debut = ligne To 2 Step -1 If Cells(debut, 1) > Cells(debut - 1, 1) Then _ Cells(debut, 1).EntireRow.Insert Next End Sub
Y'en a plein d'autre dans le meme style mais aucune ne permet d'insérer une ligne si la ligne suivante est supérieure +1.