Macro date automatique

fingersinthe

XLDnaute Nouveau
Bonjour,

Je réalise actuellement une grille de compétence dans laquelle des résultats sont intégrés automatiquement par liste déroulante. Or, j'aimerais que ces résultats soient accompagnés d'une date automatique, correspondant uniquement à la cellule modifiée, afin de savoir à chaque fois à quelle date à été mise à jour telle cellule.

Pour ce faire je suis notamment tombé sur cette macro:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ligvid As Long
If Intersect(Target, Range("A1:D50")) Is Nothing Or Target.Count > 1 Then: Exit Sub
ligvid = Range("L65536").End(xlUp).Row + 1
Range("L" & ligvid) = Target.Address & " modifiée le " & Format(Date, "dd/mm/yy")
End Sub

Malheureusement mes connaissances sur Excel se limitent aux formules basiques, je n'ai jamais fait de macro.
En utilisant cette macro la date automatique se met uniquement dans la colonne L, j'ai tenté de changer celle-ci mais cela ne fonctionne pas.

Qui plus est, mon fichier Excel est conséquent, il y a 70 colonnes, donc il faudrait que j'ajoute à chaque fois une colonne à côté pour pouvoir y insérer la date.
Du coup je ne sais pas comment faire avec la macro, faut-il rajouter chaque nom de colonne dans la dernière ligne de la macro?

Si quelqu'un pouvait m'aiguiller, ce serait fortement apprécier. J'espère avoir été assez claire, je reste à disposition pour toute information complémentaire.

En vous remerciant par avance.

Cordialement,

Alexandre
 

Modeste

XLDnaute Barbatruc
Re : Macro date automatique

Bonjour Alexandre et bienvenue (pour ton premier message!) :)


En parcourant ce forum, tu as dû lire souvent qu'un petit exemple était (aussi) très souvent bienvenu!

On peut difficilement imaginer une solution, si on ne sait pas comment se répartissent tes 70 colonnes (seraient-elles toutes paires -ou impaires- par exemple?)

Où ces dates doivent-elles s'afficher, par ailleurs? Dans un commentaire, la cellule voisine, etc... ?
 

fingersinthe

XLDnaute Nouveau
Re : Macro date automatique

Bonjour, merci :)

Je met le fichier en pièce jointe.

L'idée serait d'avoir la cellule voisine avec la date de modification de celle-ci.
Par exemple si j'ai "1" en B2, la cellule C2 contiendrait "modifiée le xx/xx/xxxx".
Et ce pour chaque cellule contenant le niveau. Il y a donc une colonne avec des données suivie d'une colonne avec une date, et ainsi de suite.

Toutefois en insérant de nouvelles colonnes je n'arrive plus à supprimer mon filtre, je n'ai pas accès à l'option, même en ayant enlevé la protection des cellules :/

Help

Cordialement,

Alexandre
 

Pièces jointes

  • exemple_grille.xlsm
    35.1 KB · Affichages: 38
  • exemple_grille.xlsm
    35.1 KB · Affichages: 32
  • exemple_grille.xlsm
    35.1 KB · Affichages: 33

Modeste

XLDnaute Barbatruc
Re : Macro date automatique

Bonjour Alexandre,

Essaye avec ce code, en lieu et place de celui qui figure dans ton fichier:
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column Mod 2 = 1 Or Target.Column = 1 Or Target.Row < 4 Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, 1) = "modifiée le " & Format(Date, "dd/mm/yy")
    Application.EnableEvents = True
End Sub

Pour ta question sur le filtre (moi je ne vois pas de filtre activé!?), Excel reconnaîtra automatiquement "l'étendue" de ta liste de données, grâce aux en-têtes (aux titres) que tu ajouteras en première ligne du tableau. Chaque colonne doit donc en être pourvue! Évite aussi de laisser une ligne vide entre les titres et les données (comme la ligne 3 de ton exemple ... qui n'est peut-être pas vide dans ton fichier réel?)

Et si Misange passe par ici, elle te recommandera certainement de convertir ta liste en tableau (tes listes de validation se recopieront automatiquement à chaque ligne ajoutée sous les données existantes, de même que toute formule ou MFC qui y figurerait)

N'hésite pas s'il te reste des questions (ou si j'ai compris de travers!)
 

fingersinthe

XLDnaute Nouveau
Re : Macro date automatique

Au temps pour moi je voulais parler de liste déroulante et non pas de filtre.
Mais avec la nouvelle macro cela semble fonctionner parfaitement, merci bien.

Je vais voir maintenant si je réussis à réunir mes salariés à travers des filtres pour les regrouper plus facilement, mais je vais surement devoir ajouter un signe distinctif ou une couleur afin de pouvoir les regrouper, car une sélection de plages multiples (en restant appuyé sur ctrl) ne semble pas fonctionner) :/

En tout cas merci bien cela me rend un grand service.

PS: Convertir ma liste en tableau? Je ne vois pas trop comment faire ^^
 

Modeste

XLDnaute Barbatruc
Re : Macro date automatique

Re-bonjour,

fingersinthe à dit:
Je vais voir maintenant si je réussis à réunir mes salariés à travers des filtres pour les regrouper plus facilement, mais je vais surement devoir ajouter un signe distinctif ou une couleur afin de pouvoir les regrouper, car une sélection de plages multiples (en restant appuyé sur ctrl) ne semble pas fonctionner) :/
:confused:
Si tu "réfléchis à voix haute" (en écrivant ton message), on ne s'inquiète pas, mais s'il y avait là une question, j'ai bien peur de n'avoir rien compris!?


fingersinthe à dit:
Convertir ma liste en tableau? Je ne vois pas trop comment faire ^^
  • Supprimer les lignes encore vides, sous le dernier enregistrement
  • Sélectionner la ligne de titres et les données déjà encodées
  • Onglet Insertion > Icône Tableau
  • ... c'est tout! :D
 

fingersinthe

XLDnaute Nouveau
Re : Macro date automatique

Ah tout simplement ^^

Sinon c'était un peu des deux, en fait j'aimerais bien pouvoir filtrer les salariés par service, il y a 5-6 grands services, or ils sont rangés par ordre alphabétique.
Mais si je veux créer un filtre pour les regrouper je ne peux pas les sélectionner manuellement car leur plage sont séparées. Par exemple A1, A5 et A7, je ne peux pas insérer un filtre. Du coup je vais être obligé de créer un code couleur pour les regrouper nan?
J'espère avoir été un peu plus clair :p
 

Modeste

XLDnaute Barbatruc
Re : Macro date automatique

Re²,

J'espère avoir été un peu plus clair :p
En tout cas, pas pour moi! Mais si quelqu'un passe par ici et y voit plus clair, qu'il/elle n'hésite pas!
Pourquoi ne pas lister tes salariés, en colonne A (si tu dois filtrer, ça me semble préférable) quitte à ajouter une colonne avec le service pour chaque salarié?? Les compétences "basculeraient" en colonnes, forcément.
 

fingersinthe

XLDnaute Nouveau
Re : Macro date automatique

Humpf :v

J'y avais songé mais comme il y a 70 salariés et que le nombre de compétences est au moins égal voire supérieur à ce nombre, j'ai préféré les mettre en colonne. En plus je peux rediviser ces compétences par service (comme c'est déjà le cas) sans forcément filtrer mes salariés.
Mon objectif c'était de pouvoir à la fois filtrer mes compétences, et en même temps si besoin est, les salariés.
Mais évidemment c'est compliqué de filtrer différentes colonnes qui n'ont rien en commun (vu que ce sont des noms de salariés).

Ou alors peut être que si j'ajoute par exemple SAV devant les salariés du SAV, je pourrais ensuite les filtrer parce qu'ils auront SAV en début de cellule?
Mais ce que je tentais d'expliquer un peu avant, c'est qu'en sélectionnant différentes colonnes, Excel me dit que je ne "peux pas filtrer des sélections multiples". Le filtre ne se fait qu'à l'intérieur d'une colonne, mais ce qu'il me faudrait ce sont les intitulés de colonne.

En résumé, j'aimerais pouvoir filtrer par exemple les colonnes 1,2, 10, 30, afin de les regrouper sous l'appellation Fabrication. Ainsi, en sélectionnant dans le filtre, on aurait uniquement les salariés voulus, qui font partie du service fabrication. Ce qui m'intéresse c'est de filtrer les salariés et non pas les cases avec leur niveau (soit toutes les lignes avec niveau 1,2,3 et 4).

J'espère que c'est mieux comme ça ^^

Encore merci du temps passé sur mon cas :)
 

Modeste

XLDnaute Barbatruc
Re : Macro date automatique

Re³,

... et Groumpfff, si tu veux :rolleyes:!

De ce que je crois comprendre peut-être qu'un tableau croisé dynamique premettrait de répondre à certains besoins!? ... à voir ...

Ce qui est certain, c'est que ne filtrer que certaines colonnes n'est pas possible (ni même souhaitable, me semble-t-il!?)

Une autre solution pourrait être d'utiliser une macro pour copier dans une feuille "temporaire" certains salariés et ensuite appliquer un filtre ... mais on est parti dans des choses (peut-être) inutilement compliquées. En tout état de cause, il faudra identifier ces salariés par service ... on en revient donc à la question précédente.

Tu peux attendre de voir si quelqu'un a une autre idée ... moi je n'en ai pas plus!
 

fingersinthe

XLDnaute Nouveau
Re : Macro date automatique

Ok =)

J'ai pensé au tableau croisé dynamique mais bon.
Mon but c'est d'avoir un outil le plus simple possible (comme là à simplement choisir le niveau dans la liste déroulante). Comme ça les managers pourrait directement accéder à leur service/salariés, en en masquant certains par exemple. Mais effectivement ne filtrer que certaines colonnes ne semble pas possible, je pensais qu'avec un filtre couleur il y aurait moyen de faire quelque chose :(

Je préfère ne pas me lancer dans d'autres macros.
Je vais plutôt simplement trier manuellement les salariés/compétence, et afin de ne voir que ceux d'un service, faire un masquage (c'est français ça :eek:). Enfin je vais plutôt faire un fractionnement pour les colonnes, et un groupage pour les lignes, ça a l'air de donner un truc potable :)

Et je ne fais pas de fichiers différenciés par service car il m'est demandé justement de réunir un peu tout ça car c'est éparpillé dans tous les sens et donc assez dur à employer ^^

Encore merci pour tout.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 092
Messages
2 085 227
Membres
102 826
dernier inscrit
ag amestan