bonjour à tous,
Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une
ligne.
je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As
Excel.Range)
Je ne sais pas si mon truc est possible
Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!!
merci
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
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
ThierryP
Bonjour Gilles,
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes utilisées par : TaVariable=UsedRange.Rows.Count Dans ta proc worksheet_change, tu compares le nombre de lignes à TaVariable. si différence, tu lances ta macro
bonjour à tous, Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une ligne. je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As Excel.Range) Je ne sais pas si mon truc est possible Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!! merci gilles en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
--
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Bonjour Gilles,
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes
utilisées par : TaVariable=UsedRange.Rows.Count
Dans ta proc worksheet_change, tu compares le nombre de lignes à
TaVariable. si différence, tu lances ta macro
bonjour à tous,
Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une
ligne.
je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As
Excel.Range)
Je ne sais pas si mon truc est possible
Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!!
merci
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes utilisées par : TaVariable=UsedRange.Rows.Count Dans ta proc worksheet_change, tu compares le nombre de lignes à TaVariable. si différence, tu lances ta macro
bonjour à tous, Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une ligne. je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As Excel.Range) Je ne sais pas si mon truc est possible Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!! merci gilles en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
--
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
gilles
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
Private Sub Worksheet_Change(ByVal Target As Excel.Range) MaVariable = UsedRange.Rows.Count If Application.Rows.Count <> MaVariable Then Rows("48:48").Select Selection.Copy Rows("49:49").Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse Application.WindowState = xlMinimized Application.CutCopyMode = False End If End Sub
si tu vois une soluce.... Merci encore gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Bonjour Gilles,
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes utilisées par : TaVariable=UsedRange.Rows.Count Dans ta proc worksheet_change, tu compares le nombre de lignes à TaVariable. si différence, tu lances ta macro
bonjour à tous, Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une ligne. je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As Excel.Range) Je ne sais pas si mon truc est possible Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!! merci gilles en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
--
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Merci THIERRY de ton aide
OK pour ton idée sauf que:
je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je
souhaite que ma macro recopie les formules de la ligne située au dessus
Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas
voir tout de suite qu'il manque kekchose
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
MaVariable = UsedRange.Rows.Count
If Application.Rows.Count <> MaVariable Then
Rows("48:48").Select
Selection.Copy
Rows("49:49").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
Application.WindowState = xlMinimized
Application.CutCopyMode = False
End If
End Sub
si tu vois une soluce....
Merci encore
gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Bonjour Gilles,
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes
utilisées par : TaVariable=UsedRange.Rows.Count
Dans ta proc worksheet_change, tu compares le nombre de lignes à
TaVariable. si différence, tu lances ta macro
bonjour à tous,
Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une
ligne.
je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As
Excel.Range)
Je ne sais pas si mon truc est possible
Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!!
merci
gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
--
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
Private Sub Worksheet_Change(ByVal Target As Excel.Range) MaVariable = UsedRange.Rows.Count If Application.Rows.Count <> MaVariable Then Rows("48:48").Select Selection.Copy Rows("49:49").Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse Application.WindowState = xlMinimized Application.CutCopyMode = False End If End Sub
si tu vois une soluce.... Merci encore gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Bonjour Gilles,
Tu peux, à l'ouverture du classeur, connaitre le nombre de lignes utilisées par : TaVariable=UsedRange.Rows.Count Dans ta proc worksheet_change, tu compares le nombre de lignes à TaVariable. si différence, tu lances ta macro
bonjour à tous, Je cherche une macro évènement qui ne se déclenche qu'à l'insertion d'une ligne. je ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As Excel.Range) Je ne sais pas si mon truc est possible Si kekun peut m'aider la dessus, il aura droit à ma toute ma gratitude...!!! merci gilles en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
--
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
ThierryP
Re gilles,
Un peu tardif....mais ce truc fonctionne : -il faut déclarer MaVariable dans un module standard (public MaVariable as Integer - Dans l'évènement WorkBook_Open, tu l'initialises : MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Application.EnableEvents = False If UsedRange.Rows.Count > MaVariable Then ActiveCell.Offset(-1, 0).EntireRow.Select Selection.Copy ActiveCell.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse ' Application.WindowState = xlMinimized Application.CutCopyMode = False End If MaVariable = UsedRange.Rows.Count Application.EnableEvents = True End Sub
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
Re gilles,
Un peu tardif....mais ce truc fonctionne :
-il faut déclarer MaVariable dans un module standard (public MaVariable
as Integer
- Dans l'évènement WorkBook_Open, tu l'initialises :
MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à
adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
If UsedRange.Rows.Count > MaVariable Then
ActiveCell.Offset(-1, 0).EntireRow.Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
' Application.WindowState = xlMinimized
Application.CutCopyMode = False
End If
MaVariable = UsedRange.Rows.Count
Application.EnableEvents = True
End Sub
Merci THIERRY de ton aide
OK pour ton idée sauf que:
je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je
souhaite que ma macro recopie les formules de la ligne située au dessus
Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas
voir tout de suite qu'il manque kekchose
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
Un peu tardif....mais ce truc fonctionne : -il faut déclarer MaVariable dans un module standard (public MaVariable as Integer - Dans l'évènement WorkBook_Open, tu l'initialises : MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Application.EnableEvents = False If UsedRange.Rows.Count > MaVariable Then ActiveCell.Offset(-1, 0).EntireRow.Select Selection.Copy ActiveCell.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse ' Application.WindowState = xlMinimized Application.CutCopyMode = False End If MaVariable = UsedRange.Rows.Count Application.EnableEvents = True End Sub
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
gilles
merci thierry, je regarde ça et j'essaie de me mettre au diapason de tes connaissances!! gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Re gilles,
Un peu tardif....mais ce truc fonctionne : -il faut déclarer MaVariable dans un module standard (public MaVariable as Integer - Dans l'évènement WorkBook_Open, tu l'initialises : MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Application.EnableEvents = False If UsedRange.Rows.Count > MaVariable Then ActiveCell.Offset(-1, 0).EntireRow.Select Selection.Copy ActiveCell.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse ' Application.WindowState = xlMinimized Application.CutCopyMode = False End If MaVariable = UsedRange.Rows.Count Application.EnableEvents = True End Sub
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline
merci thierry,
je regarde ça et j'essaie de me mettre au diapason de tes connaissances!!
gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Re gilles,
Un peu tardif....mais ce truc fonctionne :
-il faut déclarer MaVariable dans un module standard (public MaVariable
as Integer
- Dans l'évènement WorkBook_Open, tu l'initialises :
MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à
adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
If UsedRange.Rows.Count > MaVariable Then
ActiveCell.Offset(-1, 0).EntireRow.Select
Selection.Copy
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
' Application.WindowState = xlMinimized
Application.CutCopyMode = False
End If
MaVariable = UsedRange.Rows.Count
Application.EnableEvents = True
End Sub
Merci THIERRY de ton aide
OK pour ton idée sauf que:
je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je
souhaite que ma macro recopie les formules de la ligne située au dessus
Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas
voir tout de suite qu'il manque kekchose
@+ thierryp
-----------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet - G. Courteline
merci thierry, je regarde ça et j'essaie de me mettre au diapason de tes connaissances!! gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Re gilles,
Un peu tardif....mais ce truc fonctionne : -il faut déclarer MaVariable dans un module standard (public MaVariable as Integer - Dans l'évènement WorkBook_Open, tu l'initialises : MaVariable = Sheets("Feuil1").UsedRange.Rows.Count (Nom de la feuille à adapter)
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Application.EnableEvents = False If UsedRange.Rows.Count > MaVariable Then ActiveCell.Offset(-1, 0).EntireRow.Select Selection.Copy ActiveCell.Offset(1, 0).Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:úlse, Transpose:úlse ' Application.WindowState = xlMinimized Application.CutCopyMode = False End If MaVariable = UsedRange.Rows.Count Application.EnableEvents = True End Sub
Merci THIERRY de ton aide OK pour ton idée sauf que: je peux insérer plusieurs fois de suite une ligne, et à chaque fois, je souhaite que ma macro recopie les formules de la ligne située au dessus Sur la base de ta suggestion j'ai écrit le code ci dessous, mais , tu vas voir tout de suite qu'il manque kekchose
@+ thierryp ----------------- Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet - G. Courteline