Résolu Insérer une SEULE ligne dès saisie d'un texte dans une cellule

Louison_MT

XLDnaute Nouveau
Bonjour,

je travaille sur un fichier de suivi des anomalies (fichier anonymisé ci-joint).
Je souhaite que lorsque l'on saisit une ligne de suivi pour une anomalie, une nouvelle ligne (et une seule) se crée juste en dessous lorsque l'on sélectionne "En Cours" dans la colonne N (nouvelle ligne où les utilisateurs pourront renseigner un nouvel enregistrement de suivi pour la même anomalie)
J'ai réussi à faire insérer une ligne, mais d'autres s'ajoutent ensuite dès que je modifie n'importe quelle cellule. Faut-il que j'enlève mon bout de code de Worksheet_Change ? Mais dans ce cas quelle est la solution pour que la ligne s'ajoute automatiquement (sans que les utilisateurs aient besoin de "lancer" la macro) ?

Merci d'avance pour votre aide.

PS : vous pouvez considérer que je suis débutant (j'ai rien codé depuis des années et ce que je faisais n'était pas de très haut niveau)
 

Fichiers joints

Roblochon

XLDnaute Accro
Bonjour,

Dans le fichier joint j'ai juste appliqué stricto sensu ce que vous demandiez.
Je n'ai pas trop compris ce que le reste de votre macro était destiné à réaliser, si ce n'est rajouter des lignes à chaque "En Cours" de la colonne N.
Ci-dessous la ligne ne s'ajoute que Si la cellule changée est seule, que sa colonne est N et son text "En Cours".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    '
    '
    If Target.CountLarge = 1 And Target.Column = 14 And Target.Text = "En Cours" Then
        Application.EnableEvents = False ' pour ne pas se mordre la queue
        Target.EntireRow.Insert xlShiftDown
        Application.EnableEvents = True
    End If
 
End Sub
 

Fichiers joints

Louison_MT

XLDnaute Nouveau
Super ! ça marche et c'est beaucoup plus simple que ce que j'avais fait, merci bien. En revanche ça me rajoute la ligne au dessus alors que je la voudrais au dessous. J'ai essayé de changer le "ShiftDown" en "ShiftUp" mais sans succès.

La première moitié de la macro rajoute une ligne (avec un numéro d'anomalie qui s'incrémente) quand un utilisateur marque son nom lorsqu'il veut saisir une nouvelle anomalie.
 

Discussions similaires


Haut Bas