XL 2010 Dupliquer ligne d'un onglet dans un autre sous condition, et inversement

Xplorer

XLDnaute Nouveau
Bonjour !

Je suis en train d'essayer de trouver des outils excel pour mon projet d'organisation. dans excel 2007
J'ai déjà compris comment avoir un menu déroulant avec des couleurs, voir en image.
Et j'ai compris comment trier des lignes selon condition, c'est déjà beaucoup pour moi. J'en suis à découvrir que dans l'onglet développeur je peux enregistrer des macros.

J'aimerais maintenant faire en sorte que si telle condition ( du menu déroulant ) est sélectionnée, la ligne entière soit ajoutée dans un autre onglet, que toutes les lignes ajoutées ( sous condition ) se mettent les unes à la suite des autres.
Et si ensuite une autre condition est sélectionnée, que ça supprime la duplication précédente de la ligne dans l'autre onglet, tout en gardant les lignes de l'autre onglet les unes à la suite des autres sans blanc entre certaines. Je ne sais pas si c'est possible.
Ca permettrait de dispatcher différentes données dans plusieurs onglets ( matrice d'eisenhower, kanban ... ) .

en tous cas je ne sais pas très bien par quoi commencer simplement, pour ensuite complexifier les choses dans la mesure du possible.
Est-ce que vous sauriez m'aider un peu svp ? Merci !
 

Pièces jointes

  • 1.jpg
    1.jpg
    130.8 KB · Affichages: 52

Xplorer

XLDnaute Nouveau
Bonjour le fil, Xplorer

=>Xplorer

Au débotté, je dirai:
Joindre un fichier exemple dans ta discussion pour faciliter la tâche à ceux qui tenteront de t'aider.
"Le fil" ? pas compris.

Salut, si tu veux, sauf que c'est quasi vide à ce stade. le voici.
Par rapport à ce que j'ai dit plus haut : concernant les lignes que j'ai sur l'onglet "triage" ( avec des rajouts au fur et à mesure issus de deux sources ) , j'aimerais que selon ce qui est sélectionné dans le menu déroulant ( entre "res liste" ou "obj long" ) , les lignes se copient dans un autre onglet ( "dupliquer condition test" ) ou pas.
Et si je sélectionne une autre valeur du menu déroulant, que les lignes concernées aillent dans un autre onglet, dans l'absolu.
J'aimerais également qu'une fois fait, ça puisse revenir en arrière : par exemple si une ligne s'est dupliquée dans un autre onglet après une sélection du menu déroulant, elle s'efface de cet onglet si je change d'avis et que je sélectionne une autre valeur du menu pour qu'elle se duplique finalement dans un autre onglet.
 

Pièces jointes

  • test outils excell.xlsm
    12 KB · Affichages: 7

Staple1600

XLDnaute Barbatruc
Re

[Pour infos]
En langage forum: un fil= une discussion

si tu veux, sauf que c'est quasi vide à ce stade
Il ne tient qu'à toi de prendre le temps de créer un fichier plus étoffé.
Mieux le fichier Exemple sera "fagotté", plus rapide et facile sera l'aide apportée, non?

PS: Et du temps: on en a ;)
Nous sommes dimanche
Et certains d'entre nous sont confinés.
 

Xplorer

XLDnaute Nouveau
Re

[Pour infos]
En langage forum: un fil= une discussion


Il ne tient qu'à toi de prendre le temps de créer un fichier plus étoffé.
Mieux le fichier Exemple sera "fagotté", plus rapide et facile sera l'aide apportée, non?

PS: Et du temps: on en a ;)
Nous sommes dimanche
Et certains d'entre nous sont confinés.
Ce n'est qu'un fichier test, juste pour comprendre comment appliquer le principe ...
Principe que je pourrai appliquer ensuite sur un fichier destiné à être utilisé. je n'aurai pas mieux à ce stade, puisqu'un fichier mieux fagoté dépendra de l'existence ou non de la macro dont je parle. Macro que je ne sais pas faire.

mais pourquoi est-ce que tu parles de fil de discussion ?
 

Xplorer

XLDnaute Nouveau
Re

Je viens d'expliquer ce qu'est un fil de discussion dans le précédent message :rolleyes:
je sais ce qu'est un fil de discussion, mais je ne sais pas pourquoi tu parles de fil de discussion ....
"Bonjour le fil, Xplorer

=>Xplorer"

Ah ... tu veux juste dire "bonjour le fil de discussion d'Xplorer" ? je cherchais peut-être midi à quatorze heure ...

Bref, est-ce que tu aurais une idée de la manière de faire une macro de ce genre ?
 

Staple1600

XLDnaute Barbatruc
Re

=>NomPseudo
veut dire que le message s'adresse à cette personne

Sinon voici une macro "brute de décoffrage" à mettre dans le code de la feuille Triage
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
If Target.Row >= 6 Then
Sheets("dupliquer condition test").Cells(Rows.Count, 3).End(3)(2).EntireRow.Value = Target.EntireRow.Value
End If
End If
End Sub
 

Xplorer

XLDnaute Nouveau
Re

=>NomPseudo
veut dire que le message s'adresse à cette personne

Sinon voici une macro "brute de décoffrage" à mettre dans le code de la feuille Triage
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
If Target.Row >= 6 Then
Sheets("dupliquer condition test").Cells(Rows.Count, 3).End(3)(2).EntireRow.Value = Target.EntireRow.Value
End If
End If
End Sub
Merci JM !

En fait je ne sais pas tout à fait oû coller ce code .. c'est dans l'onglet développeur > visualiser le code ? C'est neuf tout ça pour moi ... Merci
 

Xplorer

XLDnaute Nouveau
Re

=>NomPseudo
veut dire que le message s'adresse à cette personne

Sinon voici une macro "brute de décoffrage" à mettre dans le code de la feuille Triage
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
If Target.Row >= 6 Then
Sheets("dupliquer condition test").Cells(Rows.Count, 3).End(3)(2).EntireRow.Value = Target.EntireRow.Value
End If
End If
End Sub
ici ?
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    141 KB · Affichages: 22

Xplorer

XLDnaute Nouveau
Re

Oui, exactement à cet endroit.
Merci.
Et apparemment ça enregistre le code tout seul, pas besoin de sauvegarder j'ai l'impression.

"If Target.Column = 5 Then
If Target.Row >= 6 Then"

donc c'est la formulation en code des fameuses conditions que je recherchais si je comprends bien.

"Sheets("dupliquer condition test").Cells(Rows.Count, 3).End(3)(2).EntireRow.Value = Target.EntireRow.Value"

et ça c'est l'action à effectuer si telle condition est remplie : copier toute la ligne dans l'onglet "dupliquer condition test" .

pour le moment rien ne se passe quand je sélectionne "obj long" ou "res liste". 5 et 6 correspondent à "obj long" et "res liste" ?
 

Staple1600

XLDnaute Barbatruc
Re

Si, si il se passe quelque chose.
Sinon pourquoi donc aurais-je poster ce code VBA...
1) Change une valeur avec la liste déroulante en colonne E sur la feuille Triage
2) Va faire ensuite un tour sur la feuille "dupliquer condition test"
3) Retournes ensuite sur la feuille Triage et fais plusieurs changements en colonne E
4) Retournes alors en feuille "dupliquer condition test"

Et tu auras constaté par toi-même qu'il s'est bien passé quelque chose.
;)
 

Xplorer

XLDnaute Nouveau
Re

Si, si il se passe quelque chose.
Sinon pourquoi donc aurais-je poster ce code VBA...
1) Change une valeur avec la liste déroulante en colonne E sur la feuille Triage
2) Va faire ensuite un tour sur la feuille "dupliquer condition test"
3) Retournes ensuite sur la feuille Triage et fais plusieurs changements en colonne E
4) Retournes alors en feuille "dupliquer condition test"

Et tu auras constaté par toi-même qu'il s'est bien passé quelque chose.
;)
Aaaah !!! ça marche ! Tout à l'heure rien ne se passait, j'imagine qu'il fallait qu'excell enregistre ce code, je ne sais pas comment ça s'est fait tout seul mais maintenant ça marche :)

Merci infiniment JM !! :)

Maintenant, il faudrait voir comment faire pour aller plus loin, dans la mesure du possible.

pour le moment, si je prends une ligne et que je change plusieurs fois la condition, ça la duplique à chaque fois en plus. voir images jointes.

En allant plus loin, il faudrait idéalement que ça puisse fonctionner ainsi :

- condition 1 > ça se duplique dans l'onglet 1
- je change d'avis, condition 2 > ça se duplique dans l'onglet 2, et ça disparaît de l'onglet 1
Et inversement.

Et je voudrais te demander : ce code : est-ce que tu l'as écrit manuellement, ou est-ce qu'il y a des outils excell qui écrivent certains morceaux de ce code ? Par exemple, cette fonction de condition, il faut écrire manuellement "if", ou bien est-ce qu'il y a dans les outils excell quelque chose qui correspond à ça ?

Merci ! Mais vas profiter du beau temps, dimanche avec du soleil c'est quand même pas mal : )
 

Pièces jointes

  • 1.JPG
    1.JPG
    56.6 KB · Affichages: 21
  • 2.JPG
    2.JPG
    43.8 KB · Affichages: 19

Staple1600

XLDnaute Barbatruc
Re

Je l'ai écrit à la mimine avec les doigts que j'utilise en semaine et les week-end

Pour avoir du code VBA qui s'écrit tout seul, il y a l'enregistreur de macros
(Mais il se borne à enregistrer ce que fait l'utilisateur manuellement)
Mais c'est une bonne porte d'entrée pour découvrir le VBA.
 

Discussions similaires