J'ai une macro qui ne s'active uniquement avec ctrl+m et je souhaiterais qu'elle s'active automatiquement lorsque j'insert une ligne. (du style==> if insert.ligne then macro4) Voici la macro:
Sub Macro4()
'
' Macro4 Macro
' Macro enregistrée le 03/01/2013 par MD
'
' Touche de raccourci du clavier: Ctrl+m'
Range("A5").Select
Selection.AutoFill Destination:=Range("A5:A194"), Type:=xlFillDefault
Range("A5:A194").Select
Range("a:a").EntireColumn.Hidden = True
Range("B1").Select
End Sub
Je ne sait pas écrire dans VBA, pourriez-vous m'aider ?
Merci pour l'aide, mais j'ai essayé de le mettre dans un module, dans les différentes feuilles concerné, devant la macro 4, derrière la macro 4... mais rien ne marche, ou faut-il que je mette cette macro ?
Merci, mais j'ai essayé et ça ne fonctionne pas, rien ne se passe (il n'y a même pas de message d'erreur).
Je ne voit vraiment pas ou je pourrait ajouter ce code.
A priori pas de procédure événementielle permettant de détecter l'insertion de ligne.... peut être utiliser une plage nommée si tu veux détecter l'insertion dans ton tableau... ca je ne le sais pas.... utilisation d'une variable public contenant le nombre de lignes de ce tableau et comparaison de cemême nombre à chaque modification... A voir....
Ok, donc il faudrait que quelqu'un puisse me mettre ceci en macro:
"Si insertion de ligne dans A5:N100, alors lancer la macro4"
PS: dormeur et pierrot, j'ai modifié mon premier message en mettant la macro4 simplié, sinon cela va décourager bien des xldnautes, et ceci ne voudrons pas lire la suite.
Si... j'ai bien compris tu veux renuméroter en A à l'insertion d'une ligne.
Tu peux le faire en utilisant la fonction Ligne et la macro évènementielle
Code:
Private Sub Worksheet_Change(ByVal R As Range)
Application.EnableEvents = False 'obligatoire avec la version 2010 et peut-être 2007
If R.Row > 3 And R.Row < 101 Then Cells(R.Row, 1).FormulaR1C1 = "=ROW()-3"
Application.EnableEvents = True
End Sub
Clique, bouton droit, sur le nom de l'onglet. En choisissant Visualiser le code tu ouvres l'éditeur VBA sur la page de code de la feuille. Il te suffit de recopier le code ci-dessus.
A noter que la colonne A peut être masquée ou pas (visible dans le fichier joint).