Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion Louison_MT
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Louison_MT

Guest
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)
 

Pièces jointes

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
 

Pièces jointes

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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
208
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…