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

insertion ligne

10 réponses
Avatar
pierre
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le tableau.
Merci pour votre aide, (formule ou vba )

Pierre

10 réponses

Avatar
isabelle
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le tableau.
Merci pour votre aide, (formule ou vba )

Pierre



Avatar
pierre
Bonjour Isabelle

Merci pour ta réponse,
La macro insert trop de lignes au sein d'une reference, je fais joindre un
exemple car
par ecrit ce n'est si pas facile.

Pierre

http://www.cijoint.fr/cjlink.php?file=cj201102/cijHaPZFf6.xls



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le tableau.
Merci pour votre aide, (formule ou vba )

Pierre



Avatar
isabelle
bonjour Pierre,

veut-tu que l'execution de la macro (insertion de une ligne) se fasse à
partir de la selection, et si oui en-dessous de la selection ou au-dessus.

isabelle

Le 2011-02-20 19:28, pierre a écrit :
Bonjour Isabelle

Merci pour ta réponse,
La macro insert trop de lignes au sein d'une reference, je fais joindre un
exemple car
par ecrit ce n'est si pas facile.

Pierre

http://www.cijoint.fr/cjlink.php?file=cj201102/cijHaPZFf6.xls



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$

bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A"& i) = Range("A"& i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :

Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le tableau.
Merci pour votre aide, (formule ou vba )

Pierre










Avatar
isabelle
ou peut être une ligne par section,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) <> Range("A" & i + 1) Then
With Rows(i)
.Copy
.Insert Shift:=xlDown
End With
Range("B" & i + 1 & ":D" & i + 1).ClearContents
End If
Next
End Sub

isabelle

Le 2011-02-20 20:16, isabelle a écrit :
bonjour Pierre,

veut-tu que l'execution de la macro (insertion de une ligne) se fasse
à partir de la selection, et si oui en-dessous de la selection ou
au-dessus.

isabelle

Le 2011-02-20 19:28, pierre a écrit :
Bonjour Isabelle

Merci pour ta réponse,
La macro insert trop de lignes au sein d'une reference, je fais
joindre un
exemple car
par ecrit ce n'est si pas facile.

Pierre

http://www.cijoint.fr/cjlink.php?file=cj201102/cijHaPZFf6.xls



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A"& i) = Range("A"& i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en
A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec
le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le
tableau.
Merci pour votre aide, (formule ou vba )

Pierre








Avatar
pierre
Bonjour Isabelle

Désolé tes réponses ont disparu ...je n'ai pas eu le temps de tout lire et
je ne vois plus que ma première demande....je ne comprends pas. (news par
orange)
Sinon l'insertion de la ligne commence des la deuxième référence, juste
avant ref2, idem pour ref3... le but étant d"avoir une ligne supplémentaire
depuis la fin pour chaque référence.
encore merci



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le tableau.
Merci pour votre aide, (formule ou vba )

Pierre



Avatar
michel ou sam
Bonjour,
1 solution sans VBA : inscrire en fin de colonne A toutes les références
puis faire un tri de tout le tableau avec choix1 la colonne A

1 solution avec VBA :
la macro d'Isabelle que je reprends ci-dessous (en allant jusqu'à la colonne
G pour le Clear)

Sub insertion()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) <> Range("A" & i + 1) Then
With Rows(i)
.Copy
.Insert Shift:=xlDown
End With
Range("B" & i + 1 & ":G" & i + 1).ClearContents
End If
Next


Michel
"pierre" a écrit dans le message de news:
4d625a8b$0$5406$
Bonjour Isabelle

Désolé tes réponses ont disparu ...je n'ai pas eu le temps de tout lire et
je ne vois plus que ma première demande....je ne comprends pas. (news par
orange)
Sinon l'insertion de la ligne commence des la deuxième référence, juste
avant ref2, idem pour ref3... le but étant d"avoir une ligne
supplémentaire
depuis la fin pour chaque référence.
encore merci



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le
nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le
tableau.
Merci pour votre aide, (formule ou vba )

Pierre









Avatar
pierre
Merci à Isabelle pour la macro et à vous deux car c'est génial
Cela fonctionne parfaitement, je vais maintenant pouvoir décaler les
valeurs vers le bas grâce a cette nouvelle ligne
Tres fort le VBA, mais par ou commencé...
encore merci

Pierre


"michel ou sam" a écrit dans le message de news:
4d62641c$0$5405$

Bonjour,
1 solution sans VBA : inscrire en fin de colonne A toutes les références
puis faire un tri de tout le tableau avec choix1 la colonne A

1 solution avec VBA :
la macro d'Isabelle que je reprends ci-dessous (en allant jusqu'à la
colonne G pour le Clear)

Sub insertion()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) <> Range("A" & i + 1) Then
With Rows(i)
.Copy
.Insert Shift:=xlDown
End With
Range("B" & i + 1 & ":G" & i + 1).ClearContents
End If
Next


Michel
"pierre" a écrit dans le message de news:
4d625a8b$0$5406$
Bonjour Isabelle

Désolé tes réponses ont disparu ...je n'ai pas eu le temps de tout lire
et je ne vois plus que ma première demande....je ne comprends pas. (news
par orange)
Sinon l'insertion de la ligne commence des la deuxième référence, juste
avant ref2, idem pour ref3... le but étant d"avoir une ligne
supplémentaire
depuis la fin pour chaque référence.
encore merci



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en
A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le
nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le
tableau.
Merci pour votre aide, (formule ou vba )

Pierre













Avatar
pierre
Bonjour Michel,

J'aurais aimé modifier ta macro pour qu elle ne commence qu'a partir de la
ligne 3 son " travail "
Est ce possible ?
J'ai changé Range en "A3:A65536" mais cela semble interdit

Dim ligne As Integer
nblignes = Range("A65536").End(xlUp).Row
refencours = Cells(nblignes, 1)
For ligne = nblignes To 2 Step -1
reference = Cells(ligne - 1, 1)
If reference = refencours Then
Cells(ligne, 5) = Cells(ligne - 1, 5).....

merci



"pierre" a écrit dans le message de news:
ijum4i$qoj$
Merci à Isabelle pour la macro et à vous deux car c'est génial
Cela fonctionne parfaitement, je vais maintenant pouvoir décaler les
valeurs vers le bas grâce a cette nouvelle ligne
Tres fort le VBA, mais par ou commencé...
encore merci

Pierre


"michel ou sam" a écrit dans le message de news:
4d62641c$0$5405$

Bonjour,
1 solution sans VBA : inscrire en fin de colonne A toutes les références
puis faire un tri de tout le tableau avec choix1 la colonne A

1 solution avec VBA :
la macro d'Isabelle que je reprends ci-dessous (en allant jusqu'à la
colonne G pour le Clear)

Sub insertion()
For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Range("A" & i) <> Range("A" & i + 1) Then
With Rows(i)
.Copy
.Insert Shift:=xlDown
End With
Range("B" & i + 1 & ":G" & i + 1).ClearContents
End If
Next


Michel
"pierre" a écrit dans le message de news:
4d625a8b$0$5406$
Bonjour Isabelle

Désolé tes réponses ont disparu ...je n'ai pas eu le temps de tout lire
et je ne vois plus que ma première demande....je ne comprends pas. (news
par orange)
Sinon l'insertion de la ligne commence des la deuxième référence, juste
avant ref2, idem pour ref3... le but étant d"avoir une ligne
supplémentaire
depuis la fin pour chaque référence.
encore merci



"isabelle" a écrit dans le message de news:
ijs6lc$qn6$
bonjour Pierre,

Sub Macro1()
For i = Range("A65536").End(xlUp).Row + 1 To 2 Step -2
Rows(i).Insert Shift:=xlDown
Range("A" & i) = Range("A" & i - 1)
Next
End Sub


isabelle

Le 2011-02-20 17:39, pierre a écrit :
Bonjour à tous,

Je sollicite de nouveau votre aide. J'aimerai inserer une ligne lors
d'une
nouvelle reference.
La REFx se trouve en colonne A ( en B,C,D des valeurs ) Ref1en
A1,Ref1en
A2,Ref1A3; Ref2A4,Ref2A5;Ref3A6,Ref3A7,Ref3A8,Ref4A9...
Le but etant dans un premier temps inserer une nouvelle ligne avec le
nom
Ref1 juste avant Ref2, idem pour Ref2 avant Ref3 et pour tout le
tableau.
Merci pour votre aide, (formule ou vba )

Pierre

















Avatar
isabelle
bonjour Pierre,

contente de voir que ta connexion va mieux,

pour modifier la macro pour qu'elle commence a partir de la ligne 3
modifie la ligne suivante

For ligne = nblignes To 2 Step -1

par celle-ci

For ligne = nblignes To 3 Step -1

lors qu'il y a insertion ou suppression de lignes on commence par le bas
et on remonte,

ps/ merci Michel pour le relais ;-)

isabelle
------------------------------------------------------------------

Le 2011-03-16 20:25, pierre a écrit :
J'aurais aimé modifier ta macro pour qu elle ne commence qu'a partir de la
ligne 3 son " travail "
Est ce possible ?
Avatar
pierre
J'avais tout faux avec Range...

Merci Isabelle




"isabelle" a écrit dans le message de news:
ilrn50$25c$
bonjour Pierre,

contente de voir que ta connexion va mieux,

pour modifier la macro pour qu'elle commence a partir de la ligne 3
modifie la ligne suivante

For ligne = nblignes To 2 Step -1

par celle-ci

For ligne = nblignes To 3 Step -1

lors qu'il y a insertion ou suppression de lignes on commence par le bas
et on remonte,

ps/ merci Michel pour le relais ;-)

isabelle
------------------------------------------------------------------

Le 2011-03-16 20:25, pierre a écrit :
J'aurais aimé modifier ta macro pour qu elle ne commence qu'a partir de
la
ligne 3 son " travail "
Est ce possible ?