Bonjour,
Est-il possible qu'une msgbox s'affiche si on fait une insertion de ligne dans une feuille?
Merci
Bonjour,
Est-il possible qu'une msgbox s'affiche si on fait une insertion de ligne dans une feuille?
Merci
Bonjour,
Une idée que j'ai eu ne lisant la question. On fait sans doute mieu et plus clean mais l'idée m'a amusé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Replace(Replace(Target.Address, "$", ""), ":", "")) Then MsgBox "Vous avez inséré ou supprimé une ligne" End Sub
merci krovax
je ne comprends pas trop ce que tu as ecris mais à l'éxécution c'est dès que je clique sur une ligne que j'ai la message box.
en fait merci beaucoup ca me convient comme ca le message je l'ai avant de faire l'insertion/ suppression.
![]()
tu as copié le code tel quel dans le code de la feuille?
Tu n'as pas mis dans selectionchange?
EN gros ce que fait le code il regarde l'adresse de la plage modifié et regarde si c'est une ligne complete. C'est loin d'être parfait car si tu modifie tout une ligne d'un coup ca le lance aussi
oui oui j'ai bien mis où il faut.
Oui ce n'est pas parfait car dès que tu cliques sur une ligne le message se met mais c'est bon ca me convient comme ca merci encore j'aurais jamais trouvé ca tout seul![]()
Ce qui n'ets pas normale c'est que la simple selection d'une ligne actionne le code.
Essaye le dans un fichier vierge pour voir et si ca le fait envoi le je regarderais ca dans la soirée
Autant pour moi je suis vraiment naze
J'étais persuadé de l'avoir mis dans le change et pas selectionchange donc oui c'est bon ca fonctionne comme tu le dis
J'ai une autre grosse question là
Je dois réouvrir un sujet ou pas ? vu que tu m'as l'air de beaucoup t'y connaitre..
Je mets ma question ici et si il faut reouvrir j'éditerais et enleverais ma question.
J'ai un classeur qu'on va nommé toto.xls
Dans ce classeur je veux récupérer des données qui se trouvent dans d'autres classeur qui commencent tous par bud*.xls (stockés dans le même repertoire).
les données à récupérees sont toujours sur la feuil4 (qui à un nom mais différent dans chaque classeur (c'est l'année qui change en fait)) donc il faut utiliser feuil4 ou item(4) je suppose.
Dans chaque fichier je cherche la derniere ligne non vide (dernligne= Feuil4.Range("A2").End(xlDown).Row) et suivant cette ligne je copie A2:Adernligne et F2:Fdernligne dans mon classeur toto.
Ma question est puis-je faire ca sans ouvrir les classeurs qui commencent par bud ?
Pour l'instant j'ai commencé mais j'arrive juste à ouvrir et fermer les classeurs qui commencent par bud et je n'arrive pas à prendre des données dans ces classeurs.
La solution avec classeur fermé doit être mieux je pense et plus rapide pour l'éxécution mais ca j'ai pas trouvé comment faire.
Si quelqu'un peut m'aider..
Merci
Et sans gymnastique?
Ou simplement 256 à la place de Columns.Count (en tout cas en X03)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Columns.Count = Columns.Count Then MsgBox "Ligne(s) supprimée(s) ou ajoutée(s)" End Sub
valable aussi s'il y a des colonnes masquées.
L'idée est pas mal plus simple moins couteuse en calcul que la manipulation de chaine de caractères, mais moins tordu donc moins amusante![]()
ok merci je vais regarder laquelle me convient le plus car celle de krovax était pas mal aussi et je ne sentais pas le calcul.
Partager