Envoyer une ligne automatique dans autre feuille

Bonjour à tous

Je recherche une formule que je n'arrive pas à mettre en application. J'ai déjà trouvé des réponses pour des personnes qui ont eu grossomodo le même besoin mais j'arrive pas à comprendre comment l'appliquer à mon cas.

Ce que je souhaite : lorsque dans la colonne "arret de location" je choisis "oui/non" via liste déroulante; si je choisis "Oui" je souhaite que toute la ligne correspondante disparaisse et vienne se copier dans la feuille deux du classeur (une autre feuille du classeur en gros) et qu'au fur à mesure la feuille 2 se remplisse.

Je suis sur que c'est pas sorcier mais je galère. Merci d'avance si vous pouvez m'éclairer.

79test-sans-nom.xlsx (16.22 Ko)

salut

peut etre une solution à travers ce code, à placer dans le module de la feuille 1 de ton exemple.

pense à mettre des titres à tes entêtes de colonnes en feuille 2

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim dl As Integer

'si la colonne de la cellule cible <>9 et si la cellule ="non", on sort de la procédure
If Target.Column <> 9 And Target = "non" Then Exit Sub
'on stock dans la variable dl le dernier numéro de ligne vide de la feuille 2
dl = Sheets("feuil2").Range("i65536").End(xlUp).Row + 1
'pour les colonnes 1 à 30
For i = 1 To 30
    'on copie en feuille 2 les cellules de la ligne cible des colonnes 1 à 30
    Sheets("feuil2").Cells(dl, i) = Cells(Target.Row, i)
Next i

End Sub

a plus

Bonsoir,

Bonsoir Hervé,

moi j'aurais mis un "Or" plutôt qu'un "And" dans cette instruction

If Target.Column <> 9 And Target = "non" Then Exit Sub

Bonjour à tous !

Hihi merci beaucoup pour votre contribution ça m'aide énormément. Ca marche plutôt pas mal !

Le seul truc qui me gène c'est que lorsque la condition est "oui" dans la colonne "arret location", ok toute la ligne par en feuille 2 : NIKEL pour le suivi que je veux faire, mais elle reste également en feuille 1. C'est possible de la faire virer de la feuille 1? (quand la condition est oui)

merci par avance

salut à vous deux et au forum

h2So4, on pourrait en effet utiliser or, le déclenchement de la macro s'en verrait modifié, a voir comment lept veux faire.

lept, il est toujours délicat de supprimer une ligne dans une macro évenementielle ..change, en effet, le fait de supprimer la ligne, relance la macro, il faut donc neutraliser l'évenementielle avant de supprimer, c'est ce que fait ce code. (à utiliser avec parcimonie) :

a placer en fin de code :

    'on supprime la ligne cible
    Application.EnableEvents = False
    Rows(Target.Row).Delete
    Application.EnableEvents = True

a plus

Hervé a écrit :

salut à vous deux et au forum

h2So4, on pourrait en effet utiliser or, le déclenchement de la macro s'en verrait modifié, a voir comment lept veux faire.

a plus

telle qu'elle est écrite cette instruction termine la procédure, si la colonne est différente de 9 ET si le contenu est "non".

comme il n'y aucune case en dehors de la colonne 9 qui contient "non", la suite de la procédure est toujours exécutée me semble-t-il.

Rechercher des sujets similaires à "envoyer ligne automatique feuille"