Trier un TCD à partir d'autre cellule et ajouter des données

Bonjour,

Je ne suis pas du tout un expert d'Excel mais je suis amené à l'utiliser pour mon boulot.

J'ai régulièrement certaine tache à faire mais qui en raison de mon ignorance m'oblige à travailler comme un idiot et cela m'en......

Ci dessous un fichier de départ avec plusieurs onglets.

Dans l'onglet "Feuil2" des données avec différentes colonnes.

Dans l'onglet "TCD", ces données sous une forme plus lisible pour moi. et plus particulièrement une colonne "C" current Sim Card

Dans l'onglet "A Afficher dans Filtre TCD", je viens en fait coller des Sim car d'une autre source. Qui en fait pour certaine vont se retrouver commune à celle présente dans l'onglet Feuil2 et donc reprise dans le TCD quand il n'y a aucun filtre.

1. J'aimerai quand dans mon TCD n'apparaissent que les Carte Sim que j'aurai mis dans l'onglet "A Afficher dans Filtre TDC", j'ai essayé par filtrage spéciale mais rien y fait à part selectionner un à un mais cela ne va pas car il me les faut toutes les unes en dessous des autres... et 13 chiffres c'est long à taper surtout quand il y en a des centaines.... J'ai cherché beaucoup sur le net mais je n'y parvient pas...

2. Suivant ce qui aurait été filtré, j'aimerais que dès que j'indique par exemple dans la case K1 "21/01/2014" et seulement une fois décidé (donc par bouton ou autre chose je sais pas) que cette info vienne s'ajouter a chaque ligne selectionnée dans mon TCD et donc je suppose par l'intermédiaire de mon onglet "Feuil2" ou figure toutes mes données (çàd colonne O)

3.Même principe pour faire en sorte que ce qui a été selectionné dans mon TCD se mette en une couleur suite au choix fait dans une liste de couleur en appuyant sur un bouton par exemple (:-) ) et que la couleur choisie se mette sur les lignes correspondantes dans mon onglet "feuil2".

Il y a peut moyen de filtrer dans le TCD sans passer par du code ou VBA je sai spas. J'ai essayé en tout cas avec les filtres spéciaux, recherche, recherche par internet etc mais je trouve pas.

Merci en tout cas à celui ou celle qui pourrait déjà me comprendre ensuite qui sait trouver la solution.

Je réponds aux questions si cela n'était pas clair....

Bien à vous,

Wise3

14start.xlsx (25.39 Ko)

Bonjour

Pas de problème pour le point 1. On fait cela par code VBA. Vois le fichier joint. clique sur le bouton en feuille "A afficher ....TCD"

Pour le point 2, pas sur de bien comprendre ta demande quaand tu dis --> "que cette info vienne s'ajouter a chaque ligne selectionnée dans mon TCD"

Il s'agit d'ajouter la date en K1 dans la feuille 2 pour la current simcard sélectionnée dans le TCD ??

A te relire

35start.xlsm (35.78 Ko)

Bonjour Dan,

désolé pour ma réponse tardive mais un seul mot: MERCI et bravo.

C'est exactement cela que je recherchais pour le point 1 .Incroyable, je suis comme un gamin qui vient de recevoir un bonbon

Je suppose que pour adapter cela à mon propre fichier, Les étapes à suivre sont:

* je crée un bouton auquel j'associe un VBA (Comment çà je chercherais sur le forum)

* je copie colle le code en faisant attention au nom des onglets.

Pour le point 2: C'est bien ce que vous avez compris. Une fois que le filtre est appliqué aux sim grâce aux code VBA que vous avez fait. J'aimerais que dans la colonne I du TCD s'ajoute la valeur, texte que je mets en case K1. Mais que cette valeur ne s'inscrive que lorsque je clique sur un bouton situé par exemple à côté de K1. Donc en fait c'est en quelque sorte ajouter une donnée à la ligne correspondant aux lignes filtrées. Et donc je suppose que cette donnée dans la colonne I du TCD doit être issue de l'onglet feuille2 de la colonne O. J'aimerais en fait que l'onglet Feuille2 soit édité également avec l'ajout du texte que j'aurais mis en K1.

Pour le point 3: Au lieu d'ajout de texte ou valeur c'est en fait la possibilité de mettre une couleur aux lignes sélectionnées. Que ces couleurs soit reportées également dans l'onglet Feuille2. Le choix des couleurs pouvant être fait suivant une liste de couleur en K2 par exemple. Toujours par le biais d'un bouton.

Merci encore pour le temps passé à la conception du code qui m'avance déjà pas mal!

Bien à vous,

Wise3

PS: Y aurait il moyen que ds L'onglet "A Afficher Dans Filtre TCD" que le current Sim qui n'auraient pas été retrouvée dans le TCD apparaissent par exemple ds la colonne B de ce même onglet. De manière à pouvoir les rechercher par la suite une fois le tableau mis à jour le mois suivant...

PS2: Dans mon tableau j'ai un minimum de 15000 lignes. Possible que le temps de recherche soit TRES long? plus 5 minutes...

Re,

wise3 a écrit :

Pour le point 2: C'est bien ce que vous avez compris. Une fois que le filtre est appliqué aux sim grâce aux code VBA que vous avez fait. J'aimerais que dans la colonne I du TCD s'ajoute la valeur, texte que je mets en case K1. Mais que cette valeur ne s'inscrive que lorsque je clique sur un bouton situé par exemple à côté de K1. Donc en fait c'est en quelque sorte ajouter une donnée à la ligne correspondant aux lignes filtrées. Et donc je suppose que cette donnée dans la colonne I du TCD doit être issue de l'onglet feuille2 de la colonne O. J'aimerais en fait que l'onglet Feuille2 soit édité également avec l'ajout du texte que j'aurais mis en K1.

EN gros une fois le filtre effectué, moyennant un bouton tu veux ajouter l'info se trouvant en K1 :

  • en colonne I dans la feuille TCD pour chaque valeur Simcard
  • en colonne O dans la feuille 2 pour chaque valeur Simcard du TCD

Merci de préciser car à la lecture de ton message "et donc je suppose ..... issue de la colonne O" je ne suis pas sur d'avoir saisis la demande

A te relire

Dan,

C'est bien cela

Mais j'ai compris pourquoi vous doutiez. Désolé j'ai fait une erreur, j'ai mis la colonne "Traité le" en Valeur au lieu d'étiquette de ligne...

Donc qd je tape un texte ou une valeur en K1. Une fois le bouton appuyé cela copie cette valeur dans Feuil2 Colonne O suivant le current card affichée. Qui aura pour effet quand j'aurai rafraichi (A moins que cela puisse être incorporé dans le VBA) mon TCD que cette valeur sera remise Dans mon TCD cette fois en colonne H...

J'ai uploadé le Fichier Excel corrigé.

Bien à vous,

9start.xlsm (35.93 Ko)

re

Donc qd je tape un texte ou une valeur en K1. Une fois le bouton appuyé cela copie cette valeur dans Feuil2 Colonne O suivant le current card affichée. Qui aura pour effet quand j'aurai rafraichi (A moins que cela puisse être incorporé dans le VBA) mon TCD que cette valeur sera remise Dans mon TCD cette fois en colonne H...

Ok, j'ai déjà adapté le code mais sans bouton en feuille TCD. Ne serait-ce pas plus simple pour toi qu'une fois cliqué sur le bouton en feuille "a afficher....", ces deux opérations se fassent directement. On évite des longueurs dans le code.

En gros le code ferait ceci. Sur clique du bouton dans feuille "a afficher..."

  • Filtrage du champ simcar en fonction des valeurs trouvées en colonne A de la feuille "a afficher..."
  • En feuille a afficher...", ajout en colonne B des valeurs non trouvées en colonne A dans le TCD.
  • Selon la valeur en K1, ajout de la date en colonne O de la feuille 2 sur base des valeurs filtrées dans le TCD

Pour la couleur, on pourrait faire aussi avec le même code. Faire une liste déroulante en K2 pourrait être possible via un code couleur mais tu ne verrais pas la couleur dans ta liste (là on doit passer par userform donc plus complexe). Autre solution plus simple est de mettre les couleur de ton choix en colonne L. Exemple de L1 à L4. Là selon le choix de cellule on pourrait via un bouton mettre la couleur désirée.

On peut aussi faire tout avec le premier code si une seule couleur suffit.

Concernant le temps d'exécution dont tu parlais avant, c'est normal car le code contrôle que sur toutes les simcards. Si la valeur n'est pas trouvée en colonne A, il filtre dans le TCD. Donc si tu as 15000 simcard dans la liste des items du TCD...

A ta relire

Bonjour Dan,

En gros le code ferait ceci. Sur clique du bouton dans feuille "a afficher..."

  • Filtrage du champ simcar en fonction des valeurs trouvées en colonne A de la feuille "a afficher..."IMPEC
  • En feuille a afficher...", ajout en colonne B des valeurs non trouvées en colonne A dans le TCD.PARFAIT
  • Selon la valeur en K1, ajout de la date en colonne O de la feuille 2 sur base des valeurs filtrées dans le TCDJe préférais que cela se fasse par un bouton car chaque fois que je fais une recherche ce n'est pas pour changer à chaque fois la valeur ds Feuille 2 Colonne O. Je peux quelque fois faire une recherche pour contrôle... Même si cela alourdit le code ou plus long je préfère...

Pour les couleurs pas de problème avec les couleurs en L1 à 4. là c'est impec aussi.

Désolé et merci en tout cas pour votre aide.

Bien à vous

re

Pour la couleur et ce, sur base d'une liste entre L1 et L4, le code ferait ceci

  • Sélection de la couleur désirée
  • clique sur le bouton couleur
  • en feuille 2 on colorie les lignes correspondant aux simcard vues dans le TCD ?

re

oui impec

merci

re

Vois le fichier joint.

Si ok, lors de ta réponse clique sur le V vert à coté du bouton EDITER afin de cloturer le fil

PS : Si tu dois réouvrir le fil plus tard, clique sur le V devenu rouge par après la cloture

Cordialement

24start.xlsm (44.27 Ko)

Re,

merci.

Par contre cela ne fonctionne pas pour la couleur, je sélectionne la case avec la couleur désirée ensuite je clique sur le bouton mais la couleur ne se met pas en Feuil2

Ensuite pour les carte Sim non trouvées, je voulais dire que si je mets 10 Sim à rechercher par exemple, sur les 10 Sim qui n'ont pas été trouvées dans le TCD de les afficher ds la colonne B de l'onglet A Afficher dans Filtre TCD. Et non pas celles qui restent dans le TCD.

Ex j'ai 10 Sim, je clique, il trouve 6 Sim dans le TCD. Il faut afficher les 4 Sim qui n'ont pas été retrouvées

Merci encore pour tout ce temps passé.

Re

Par contre cela ne fonctionne pas pour la couleur, je sélectionne la case avec la couleur désirée ensuite je clique sur le bouton mais la couleur ne se met pas en Feuil2

Oups déso, le bouton est associé à une mauvaise macro.

  • Fais clique droite sur le bouton Couleur puis choisis l'option "associer à une macro"
  • dans la liste sélectionne la macro "Couleur" puis ok

Je reviens vers toi pour la liste des simcard non trouvées car le code TriTCD fait exactement le contraire. On pourrait peut être copier en colonne B ce qui a été trouvé dans le TCD. resterait les valeurs non trouvées en colonne A. Ce serait bon cela ?

Crdlt

Bonjour Dan,

impec cela fonctionne très bien avec l'affectation de la macro couleur

Pour le point avec les cartes qui n'ont pas été trouvée dans le TCD, pas de prob qu'elles apparaissent dans la colonne A. C'est comme vous avez le plus facile.

Par contre il y a encore un petit détail...

Lors de l'affectation de la date ou de la couleur, seul 1 ligne correspondant à la sim sont affectés en Feuil2. Normalement l'affectation devrait avoir lieu pour toutes les lignes relatives à la sim card.

Exemple si j'ouvre votre dernier fichier Start, on voit que la Sim 2100162868386 apparait 1 fois mais concerne 3 lignes dans le TCD(Ligne 5 6 7). La date a juste été placée en ligne 6. Il manque la ligne 5 et 7. Il se passe la même chose pour la couleur.

En tout cas la couleur c'est génial car même si je change la couleur dans la cellule, la couleur choisie est appliquée.

Vous êtes un "KING" du VBA. Merci encore à vous pour tout ce temps consacré qui va m'aider à travailler plus intelligemment.

re,

Lors de l'affectation de la date ou de la couleur, seul 1 ligne correspondant à la sim sont affectés en Feuil2. Normalement l'affectation devrait avoir lieu pour toutes les lignes relatives à la sim card.

Ah ben oui, j'avais pas regardé ce truc et de plus les dates devaient aussi se mettre en colonne 0

Vois le fichier joint avec cette modif

En supplément, en colonne B de la feuille "a afficher..." les valeurs trouvées dans le TCD. Par défaut, ce qui n'est pas trouvé reste en colonne A (attention aux doublons que je vois dans le fichier. Là ce ne sera pas traité et cela restera en colonne A)

Si ok, merci de cloturer le fil lors de ta réponse et ce, en cliquant sur le V vert à coté du bouton EDITER

Amicalement

9start.xlsm (45.48 Ko)

Bonsoir Dan,

je pense qu'il y a un prob avec la macro TriTCD car lorsque je mets une Sim il n'affiche pas correctement les Sim recherchées dans le TCD. Avant cela le faisait bien...

Pour le reste des corrections par rapport à ce qui est affiché dans le TCD et les ajouts en Feuil2 et Couleur là c'est correct cette fois. IMPEC

Une fois le problème de la Macro TriTCD résolu serait-il possible d'améliorer les points suivants?:

* Faire en sorte qu'une fois la valeur en K1 a été ajoutée en Feuil2 colonne O, que le TCD soit actualisé sans que je ne sois obligé de cliquer sur le TCD et appuyer sur ALT+F5. J'ai trouvé le code suivant: "ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh ". Sans doute que si je le rajoute dans la macro "MajDate" cela fonctionnerait?

* Pour les boutons couleurs, j'ai testé en attribuant d'autres couleurs, cela fonctionne. Par contre si je mets à la place d'une couleur (L1)"Aucun remplissage", afin par exemple d'effacer des couleurs que j'aurais attribué à des lignes par erreur, là j'ai un message d'erreur "Erreur d'exécution '6' Dépassement de capacité". Possible de corriger ce problème?

* Pour le code qui permet de mettre en "A Afficher dans Filtre TCD" colonne B les sims qui ont été trouvées et en colonne A celles qui n'ont pas été trouvées et le fait que celles qui sont en doubles, triples restent en colonne A. Ne serait il pas possible par exemple avec un autre bouton de faire en sorte que les sims qui restent en A et qui se retrouvent en B disparaissent de A. De cette manière cela résout le prob des sim qui sont multiples non?

Bien à vous,

re,

Pour le code qui permet de mettre en "A Afficher dans Filtre TCD" colonne B les sims qui ont été trouvées et en colonne A celles qui n'ont pas été trouvées et le fait que celles qui sont en doubles, triples restent en colonne A. Ne serait il pas possible par exemple avec un autre bouton de faire en sorte que les sims qui restent en A et qui se retrouvent en B disparaissent de A. De cette manière cela résout le prob des sim qui sont multiples non?

En gros c'est une gestion des doublons qu'il faut faire ??

Ce que l'on peut faire, c'est supprimer les doublons de smicard avant exécution du tri dans le TCD. Ok ?

Crdlt

Bonsoir,

oubliez ce que j'ai dit avec les doublons, je n'avais pas remarqué que j'avais mis plusieurs fois les mêmes sims dans la colonne A... Désolé. Donc oubliez cette partie là

Donc il reste les points suivants:

* je pense qu'il y a un prob avec la macro TriTCD car lorsque je mets une Sim il n'affiche pas correctement les Sim recherchées dans le TCD. Avant cela le faisait bien...

* Pour les boutons couleurs, j'ai testé en attribuant d'autres couleurs, cela fonctionne. Par contre si je mets à la place d'une couleur (L1)"Aucun remplissage", afin par exemple d'effacer des couleurs que j'aurais attribué à des lignes par erreur, là j'ai un message d'erreur "Erreur d'exécution '6' Dépassement de capacité". Possible de corriger ce problème?

* Faire en sorte qu'une fois la valeur en K1 a été ajoutée en Feuil2 colonne O, que le TCD soit actualisé sans que je ne sois obligé de cliquer sur le TCD et appuyer sur ALT+F5. J'ai trouvé le code suivant: "ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh ". Sans doute que si je le rajoute dans la macro "MajDate" cela fonctionnerait? J'ai testé cela fonctionne

Bien à vous,

re,

Ok pas de souci pour les doublons.

Le fichier en retour qui devrait répondre à votre attente. Si souci, dites moi

Si ok, merci de cliquer sur le V vert à coté du bouton EDITER pour cloturer le fil lors de la réponse

Amicalement

13start.xlsm (45.64 Ko)

Bonjour Dan,

PARFAIT

Merci encore pour votre patience et vos prouesses qui me permettront de gagner énormément de temps. MERCI

Bien à vous

Bonjour Dan,

je rouvre ce sujet afin de revenir sur certains points.

Premier point avec peu d'importance: Les couleurs choisies en L4 à L8 ne s'appliquent pas avec la même couleur, nuance. Le rouge, Jaune pas de prob même si mis en L4 à L8. Ce n'est donc pas un prob de place en cellule mais autre chose sans doute. J'ai fait des modifs (cellules ) dans le code pour pouvoir sélectionner les cellules en plus.

Deuxième point, j'ai essayé d'ajouter dans le code une autre macro reprenant le principe de MajDate pour en faire MajCom. En désirant remplacer ds le code les lettre H à I suivant ma "logique" cela ne fonctionne pas. J'ai juste changé, O à Q et K à M... Pourquoi? Voir mon commentaire dans le code

Troisième point: j'ai ajouté un filtre en B1 dans mon TCD à partir de ce qui s'affiche en feuill2 colonne P. Si je ne filtre pas P et que je laisse donc "TOUS", que je fais par exemple une recherche sur la Sim "2100162868410". Le TCD va m'afficher 3 lignes. Jusque là OK. Si je filtre mon TCD en B1 et que je selectionne Aout 13, le TCD m'affiche 1 ligne. Si je mets en K1 une date (clic)et en M1 un commentaire (clic), choisis une couleur (clic) et bien en Feuill2 j'aurai mes 3 lignes éditées comme si j'avais tout sélectionné en B1. Alors que je ne devrais avoir que celle visible dans mon TCD.

J'avoue que ce tri n'était pas mis au départ et donc je suppose que le code fait en sorte que chaque fois que la sim est trouvée en Feuil2 il ajoute la condition (Couleur K1 M1). Je pense qu'il faudrait qu'il vérifie si cela correspond à ce qui est mis en B1 (qui peut lui être n'importe quoi...). En effet je pensais que le code faisait en sorte de ne s'appliquer qu'à ce qui est visible dans mon TCD

En espérant être compris Merci encore

Bien à vous,

PS: j'ai remis le fichier à partir duquel j'ai fait les tests et adaptations

PS2: quand je n'ai aucun filtre appliqué, normal que si je clique sur Bouton de K1, couleur clic et bouton de M1 j'ai une erreur d'execution '13' incompatiblité de Type. Maintenant j'avoue que pas important vu que je dois qd même filtrer

6start4.xlsm (44.90 Ko)
Rechercher des sujets similaires à "trier tcd partir ajouter donnees"