Copier une ligne sous condition dans une autre feuille
Bonjour à tous,
C'est après avoir regardé une bonne partie des postes du forum que je me suis inscrit en espérant trouver un peu d'aide.
Beaucoup de postes traitent du sujet que je vais aborder mais j'avoue que je ne comprend pas grand chose à VBA
(Donc on ne se moque pas si c'est une question simple pour vous
Voici mon problème:
J'ai un tableau représentant un planning de livraison.
Je souhaiterais qu'a chaque fois que je sélectionne une donnée "X", "Y" ou "Z" (issue d'un menu déroulant) dans la colonne "E", une copie de la ligne sur laquelle ce trouve cette donnée soit copiée (ou insérée) et classée dans la feuille correspondante (sans ligne vide).
Si la donnée change (exemple: passage de X à Y) ou est supprimée, la copie doit être automatiquement effacée de la feuille correspondante et, le cas échéant, réattribué à sa nouvelle feuille.
J’espère que vous comprendrais ce que j’essaie d'expliquer...
Je joints le fichier actuel afin que vous puissiez voir a quoi ressemble le tableau.
Merci d'avance pour vos réponses et votre aide.
Cyri
Salut Cyri et bienvenue sur le Forum,
J'ai voulu te proposer une solution, mais elle fait interférence avec ta macro ci-dessous, placée sur chacune des feuilles :
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target
Case "p"
Target.Interior.ColorIndex = 27
Case "1"
Target.Interior.ColorIndex = 4
Case "s"
Target.Interior.ColorIndex = 3
Case "e"
Target.Interior.ColorIndex = 5
Case "m"
Target.Interior.ColorIndex = 56
Case Else
Target.Interior.ColorIndex = 0
End Select
End SubComme je ne vois pas l'utilité de ces codes, je les ai neutralisés et je te propose quand même ma solution qui consiste à réactualiser les feuilles de chaque collaborateur lors de leur sélection, afin d'avoir toujours un planning individuel à jour.
Si jamais les codes neutralisés étaient quand même utiles, il faudra voir comment résoudre cela.
J'ai également placé les initiales de chaque collaborateurs dans la cellule A1 de sa feuille. Si c'est génant, on peut masquer ou déplacer cette indication nécessaire à ma macro.
Cordialement.
Bonjour Yvouille,
En effet, la première macro ne sert réellement que sur la première feuille, elle peut donc être neutralisée sur les autres.
Ce que tu m'as proposé correspond exactement à ce que je voulais mettre en place.
Je te remercie énormément pour ton aide.
J'aurais juste 2 dernières questions (sans vouloir trop abuser) car j'aime essayer de comprendre les choses qui m’échappent (...étant novice sur VBA, beaucoup de choses m'échappes
- As-tu placé le code dans thisworkbook afin qu'il soit en lien avec toutes les feuilles ?
- Peux-tu m'expliquer (brièvement) ce que tu as fais? (désolé je n'arrive pas à comprendre certaines lignes de ton code)
Encore merci pour ton aide!
Cordialement
Re-bonjour,
Oui, absolument.Cyri a écrit :As-tu placé le code dans thisworkbook afin qu'il soit en lien avec toutes les feuilles ?
J'ai commenté mon code directement dans le fichier. Si ce n'est toujours pas clair, merci de revenir avec des questions plus précises.Cyri a écrit :Peux-tu m'expliquer (brièvement) ce que tu as fais? (désolé je n'arrive pas à comprendre certaines lignes de ton code)
Amicalement.
Bonjour Yvouille,
Je comprend beaucoup mieux ce que tu as fais avec tes commentaires.
J’espère pouvoir m'en sortir un peu mieux maintenant lors d'un prochain développement.
Merci d'avoir pris le temps de commenter ton code et pour ton aide.
Au plaisir
Amicalement