Demande d'une petite aide again ...

lovesky

XLDnaute Junior
Bonjour à tous,

Je viens vers vous car je n'arrive pas à adapter un code VB que Efgé avait fait dans un autre fil de discussion.
J'ai utilisé ce code pour faire une sorte de petit carnet ou je note mes références fournisseurs et nouveaux fournisseurs, ainsi que les differents noms relatifs à ceux-ci ... le code permettait de faire un classement automatique lorsque je mets le mot "fin" dans une cellule donné, le classement ce faisait par rapport à la colonne des noms. Une nouvelle ligne est créé et dans la colonnne Prénom, une nouvelle cellule est créée avec la concaténation de tout les prénoms ayant le meme nom.
( voir fichier lovesky(I).zip)
J'ai voulut faire pareil avec un autre fichier Excel, celui ci me sert de "to do list".
La j'ai tout fais comme une grande, j'ai fait une Userform pour remplir automatiquement une ligne de la feuille apres avoir remplis tout les champs de l'Userform.
J'ai également mis un ptit script pour contourner le problème des Conditionnel formating limité à 3 (pour mettre des couleurs en fonctions des statuts).
Mon problèmes, c'est que je peux faire plusieurs actions sur une tache donnée et ce plusieurs jours.
Pour l'instant, j'ai juste une colonne "Date et Actions Réalisées" ou je rajoute au fur et à mesure dans la meme cellule, les differentes actions d'une tache et ce, en mettant une date à chaque ligne.
Après des semaines, je peut avoir des romans dans une cellule comme ca donc, j'avais eu l'idée d'utiliser le code du fichier LoveSky(I).zip pour l'adapter à ma feuille.
Ce que je voulais faire, c'est pour une tache donnée, je fais une nouvelle ligne pour celle-ci avec la date de l'action faite.
Une fois que cette tache est totalement finie, je mets le mot "fin" et il me met le tout dans une seule cellule.

Pour résumer (cf. ma feuille XLS) :
Colonne H : dans cette colonne, je mets un chiffre unique correspondant à une tache. Il n'y a jamais deux fois la même. Donc, le tri ce fera sur cette colonne (comme avec la colonne "Nom" qu'on avait fait dans l'autre fichier).
Colonne N: descriptif des actions faites sur une tache.
Colonne O : je compte mettre le mot "fin" dans cette colonne la.

Donc, dans l'exemple de la feuille que je joins (test2.zip), en ligne 68, j'ai mis "fin" dans la colonne O.
Il faudrait que dans la ligne 69, il y soit repris le "Demandeur" (colonne C), la derniere date (Colonne E), le dernier S (colonne G), le numero dans la colonne H, l'ensemble des lignes de la colonne J lié au numero de la colonne H, idem pour la colonne N et pour la colonne Q.

Voila, j'espere que j'ai été claire dans mon explication ;-)
Je me suis arrachée les cheveux à comprendre pourquoi ca ne marchait pas , je me demande si ce n'est pas parce que j'ai fait un userform ?
En tout cas, j'ai appris ce weekend qu'on ne peut pas mettre deux Private Sub Worksheet_Change

Je vous remercie d'avance pour tes les aides précieuses que vous m'apporterez.

Bien à vous,
 

Pièces jointes

  • test2.zip
    47 KB · Affichages: 21
  • lovesky (I).zip
    13.9 KB · Affichages: 24
  • test2.zip
    47 KB · Affichages: 19
  • lovesky (I).zip
    13.9 KB · Affichages: 24
  • test2.zip
    47 KB · Affichages: 20
  • lovesky (I).zip
    13.9 KB · Affichages: 21

Efgé

XLDnaute Barbatruc
Re : Demande d'une petite aide again ...

Re
Lovesky, en MP j'avais proposé de faire "Light et clair".... c'est pas réussi :D.
Une proposition (le code est dans la feuille Fabiennne).
Si ce n'est pas ça, met un exemple fait à la main... (j'ai laissé les lignes inutilisées en commentaires, j'ai peur d'en avoir besoin :p)
Cordialement
EDIT : Je remet le fichier dans mon post suivant
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Demande d'une petite aide again ...

bonjour Lovesky,Efgé
pas trop bien compris les explications
tu veux reprendre certaines données de la dernière ligne entrée
sous la condition que O=fin(ce que j'ai compris)
et si cette condition n'y est pas que faire?
changer dans valider(couleur) userform_initialize(pour date et n°sem)
dans data(les n° des couleurs),simplifie le code
à bientôt
 

Pièces jointes

  • test2.zip
    48.3 KB · Affichages: 20
  • test2.zip
    48.3 KB · Affichages: 19
  • test2.zip
    48.3 KB · Affichages: 19

Efgé

XLDnaute Barbatruc
Re : Demande d'une petite aide again ...

Re Lovesky, bonsoir Bebere,
Bebere, en fait il faut aussi concaténer certaines valeurs en se basant sur la colonne H. Met fin en 044 par exemple(Sans connaitre le fil précédent c'est mission impossible pour comprendre ;)).
Je remet mon exemple modifié. J'aditionne les temps en colonne Q au lieu de les emplilés.
Cordialement
 

Pièces jointes

  • Lovesky(II).zip
    45.4 KB · Affichages: 24

lovesky

XLDnaute Junior
Re : Demande d'une petite aide again ...

Bonjour Efgé et Bebere ... et les autres biensur :)

Tout d'abord merci pour l'attention que vous avez accordé à ma demande.
Ensuite, il est vrai (et Efgé me l'avait dit) que mon explication n'est pas très claire, surtout pour ceux qui n'ont pas suivit mon autre fil de discussion.
Donc, pour résumer, j'avais voulut (dans le cadre d'un petit carnet perso) savoir si il était possible de mettre plusieurs cellules d'une colonne dans une cellule.
En partant de la, appliquer ce principe à une ligne entière de cellule ou, juste une des cellules de cette ligne comporterait la concaténation de cellules au-dessus d'elle en fonction d'une condition.
Donc par ex, si nous avons les lignes suivantes et qu'en C5 je mets "fin", la ligne 7 sera :
A | B | C
1 coco | Albert |
2 Titi | Vanessa |
3 coco | Nathalie |
4 Lala | Jean |
5 coco | Bertrand | fin
6 Titi | Tom |
7 coco | Albert | Termine
Nathalie
Bertrand
8 Lala | Sophie |
9 Rere | Suzie |

Si pour l'exemple, c'est la ligne 7 c'est car la ligne doit se créer sur la derniere ligne disponible du tableau.
Donc, dans l'exemple précédent, on suppose que quand j'ai mis "fin" en C5, la ligne 6 était déjà prise donc, la nouvelle ligne s'est faite en 7.

Donc, Efgé a réussi à combler ma demande et me faisant un joli p'tit code VB pour ca.
Ne voulant pas me réfugier derrière ma chevelure blonde (je rigole, je suis brune ;-) ) j'ai essayée d'adapter ce code à une autre liste qui elle, me sert de "to do list".
Dans celle ci, j'avais réussis à faire un Userform qui complète automatiquement une ligne.
Pour une tache donnée, j'ai un et un seul numéro INVI.
Mais une tache peut comporter plusieurs actions, donc j'aurais voulut qu'en mettant "fin" dans une cellule de la ligne, celle-ci enclenche une concaténation de cellule dans une nouvelle ligne comme dans notre exemple ci-dessus.

Ouffffffff suis arrivée à la fin de l'explication, j'espère que j'ai été plus précise ... et comme dirait Efgé, plus "light" :)
 
Dernière édition:

Statistiques des forums

Discussions
312 923
Messages
2 093 663
Membres
105 780
dernier inscrit
Autric