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

adaptation macro trouvée sur excelabo

7 réponses
Avatar
Patcas
Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.

7 réponses

Avatar
JB
Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:
Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.


Avatar
Jacquouille
Bonjour
Si les deux tableaux sont placés côte à côte, je ne pense pas que Excel
puisse insérer une ligne sous UN seul tableau. Tout au plus peut-on insérer
une ligne sous les deux, puis remonter la fin de l'autre tableau vers le
haut.
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Patcas" a écrit dans le message de
news: fCAGh.58$
Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.



Avatar
Patcas
Merci mais je n'y arrive pas
je souhaite qu'une ligne entre les colonnes A et L
s'inserre avant la derniere ligne de mon tableau
avec les formules et de telle maniere que les plages qui se trouvent
à l'interieur de formules dans d'autres tableaux
dans d'autres onglets soient modifiées automatiquement
Si on rajoute une ligne a la fin les plages ne sont pas modifiées
Je ne sais si je suis clair.....
la formule d'excelabo fonctionne pour la ligne entiere
je souhaiterais que cela ne concerne que la ligne entre A et L

Merci encore

PAtrice





"JB" a écrit dans le message de news:

Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:
Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.


Avatar
JB
Post ton tableau sur http://www.cjoint.com

On 4 mar, 16:38, "Patcas" wrote:
Merci mais je n'y arrive pas
je souhaite qu'une ligne entre les colonnes A et L
s'inserre avant la derniere ligne de mon tableau
avec les formules et de telle maniere que les plages qui se trouvent
à l'interieur de formules dans d'autres tableaux
dans d'autres onglets soient modifiées automatiquement
Si on rajoute une ligne a la fin les plages ne sont pas modifiées
Je ne sais si je suis clair.....
la formule d'excelabo fonctionne pour la ligne entiere
je souhaiterais que cela ne concerne que la ligne entre A et L

Merci encore

PAtrice

"JB" a écrit dans le message de news:

Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:



Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
Patcas
Voilà mon travail
http://cjoint.com/?derh3Ug1MH
le probleme est dans l'onglet LYON
je voudrais inserrer une ligne dans le tableau col A a col L
sans modifier les tableaux qui sont à droite
Merci de votre aide

Patrice


"JB" a écrit dans le message de news:

Post ton tableau sur http://www.cjoint.com

On 4 mar, 16:38, "Patcas" wrote:
Merci mais je n'y arrive pas
je souhaite qu'une ligne entre les colonnes A et L
s'inserre avant la derniere ligne de mon tableau
avec les formules et de telle maniere que les plages qui se trouvent
à l'interieur de formules dans d'autres tableaux
dans d'autres onglets soient modifiées automatiquement
Si on rajoute une ligne a la fin les plages ne sont pas modifiées
Je ne sais si je suis clair.....
la formule d'excelabo fonctionne pour la ligne entiere
je souhaiterais que cela ne concerne que la ligne entre A et L

Merci encore

PAtrice

"JB" a écrit dans le message de news:

Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:



Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
JB
http://cjoint.com/?derSTxEzvA

JB

On 4 mar, 17:10, "Patcas" wrote:
Voilà mon travailhttp://cjoint.com/?derh3Ug1MH
le probleme est dans l'onglet LYON
je voudrais inserrer une ligne dans le tableau col A a col L
sans modifier les tableaux qui sont à droite
Merci de votre aide

Patrice

"JB" a écrit dans le message de news:

Post ton tableau surhttp://www.cjoint.com

On 4 mar, 16:38, "Patcas" wrote:



Merci mais je n'y arrive pas
je souhaite qu'une ligne entre les colonnes A et L
s'inserre avant la derniere ligne de mon tableau
avec les formules et de telle maniere que les plages qui se trouvent
à l'interieur de formules dans d'autres tableaux
dans d'autres onglets soient modifiées automatiquement
Si on rajoute une ligne a la fin les plages ne sont pas modifiées
Je ne sais si je suis clair.....
la formule d'excelabo fonctionne pour la ligne entiere
je souhaiterais que cela ne concerne que la ligne entre A et L

Merci encore

PAtrice

"JB" a écrit dans le message de news:

Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:

Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -




Avatar
Patcas
Merci beaucoup
C'est génial
bonne soirée
Patrice

"JB" a écrit dans le message de news:


http://cjoint.com/?derSTxEzvA

JB

On 4 mar, 17:10, "Patcas" wrote:
Voilà mon travailhttp://cjoint.com/?derh3Ug1MH
le probleme est dans l'onglet LYON
je voudrais inserrer une ligne dans le tableau col A a col L
sans modifier les tableaux qui sont à droite
Merci de votre aide

Patrice

"JB" a écrit dans le message de news:

Post ton tableau surhttp://www.cjoint.com

On 4 mar, 16:38, "Patcas" wrote:



Merci mais je n'y arrive pas
je souhaite qu'une ligne entre les colonnes A et L
s'inserre avant la derniere ligne de mon tableau
avec les formules et de telle maniere que les plages qui se trouvent
à l'interieur de formules dans d'autres tableaux
dans d'autres onglets soient modifiées automatiquement
Si on rajoute une ligne a la fin les plages ne sont pas modifiées
Je ne sais si je suis clair.....
la formule d'excelabo fonctionne pour la ligne entiere
je souhaiterais que cela ne concerne que la ligne entre A et L

Merci encore

PAtrice

"JB" a écrit dans le message de news:

Bonjour,

On veut insérer une ligne avec la même présentation
Placer le curseur sur la ligne

Sub InsèreLigne()
If Selection.Count = 1 And ActiveCell <> "" Then
ncol = ActiveCell.CurrentRegion.Columns.Count
coldébut = ActiveCell.CurrentRegion.Column
Cells(ActiveCell.Row, coldébut).Resize(1, ncol).Select
Selection.Insert Shift:=xlDown
Selection.Offset(-1, 0).Copy ActiveCell
Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents
End If
End Sub

http://cjoint.com/?deqt2wkuaB

JB

On 4 mar, 15:22, "Patcas" wrote:

Bonjour
j'ai trouvé cette macro sur le site Excelabo

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub

Elle va bien sur plusieurs tableaux mais j'ai quand meme un probleme
J'ai un onglet avec 2 tableaux cote à cote
et je voudrais me servir de cette formule pour rajouter une ligne
dans un seul tableau (entre colonne A et colonne L)
et ne pas modifier le second tableau qui est entre les col N et W
Je dois changer "EntireRow" certainement mais comment et par quoi.....

Merci à tous

Patrice C.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -


- Afficher le texte des messages précédents -