XL pour MAC Refonte complete d'un fichier, besoin d'idées

nobodyuse

XLDnaute Occasionnel
Bonjour à toutes et tous

Après quelques temps de travail sur un fichier de suivi de commande d'articles pour des agents d'une entreprise reparties sur 3 sites différents
je me retrouve avec un fichier final fonctionnel, mais très lourd (26Mo pour les 5 années) ce qui rend mon fichier très lent

Tout d'abord je précise que je suis archi novice !
Je viens donc vers vous les pro du Excel afin de quérir quelques idées pour refaire mon entièrement mon fichier de manière a ce qu'il soit moins lourd et utilisable sur serveur d'entreprise par 3 personnes minimum (1 sur chaque site)

je vous expose donc le projet:

j'ai une base de donnée qui doit contenir les différents articles possible, pour lesquels il y a un prix unitaire, différentes tailles possible,
dans cette base de données il y a également une base de Nom/prénom, chef référent, leur site, et la somme qui leur ai attribué au 1er janvier 2020 (repris des années précédentes) il y a pour l’heure quelques 300 agents environs... Mais comme cela peut évoluer (départ en retraite, embauche, ...) il faut donc que ce fichier soit évolutif facilement
il me faut donc un système qui aille cherche les noms, en fonction du nom son chef, que 'l’on sépare les 3 sites si cela est possible...
il y a 3 commande par année civile (Janvier, Mai et Septembre)
il faut que l'on puisse rentrer leur éléments de commande avec des liste deroulantes (Articles, taille, quantité, Prix Unitaire) que ce soit calculé automatiquement et déduit de leur somme initiale
Évidemment chaque fois la somme est reporté sur la feuille de suivi de commande suivants (3 par année) une feuille de Bilan est ajouté pour la fin d'année et permet de voir le nombre d'articles commandé par agents et les totaux par sites (et total global) une feuille de suivi peux éventuellement être inséré ce qui permettrai d'avoir un archivage de ce qui a été commandé .... (si l'on pouvais même réussir a trier par articles et taille de manière a avoir une forme "d’état de la commande" ce serai top pour voir et suivre d'un coup d'oeil les quantités qu'il y a à commander et en quels tailles)
j'avais ajouté une fonction de Statut de remise a l'agent avec la date automatique (qui permet de suivre un peu savoir ou l'on en est)
Afin de réduire la taille du fichier sur chaque page de bilan j'ai inséré une macro qui permet de transformer le résultat des formules en données brutes et supprimer les feuilles de Janvier, Mai et Sept de l'année qui viens de s’écouler, afin de ne pouvoir garder que la feuille de bilan et reprendre la somme en fin d'année sur la nouvelles feuille de Janvier (Auquel on crédite chaque année la somme de 40€ cumulable d'une année sur l'autre sans jamais dépasser un montant de 120€)


je ne peux pas vous mettre le fichier que j'ai créer (Car trop gros même zippé)
je vous met cela dit des captures d'écrans une de la feuille de Janvier, une de la feuille bilan et une du type de feuille de suivi possible (qui pourrai remplacer la feuille de bilan (à voir)
je sais ce n'est pas top mais c'est vraiment pour donner une idée de ce que j'avais fait jusque la, mais comme cela ne vas pas forcement ....

Merci d'avoir pris le temps de lire jusqu'au bout en espérant avoir réussi a être assez clair
D'avance merci à tous

Feuille actuel de Janvier:
Capture d’écran 2021-03-26 à 17.55.11.png



Feuille actuel de bilan:
Capture d’écran 2021-03-26 à 17.55.36.png




Idée de feuille de suivi a voir:
Capture d’écran 2021-03-26 à 18.00.18.png


Autre tentative de mise en forme:
Capture d’écran 2021-03-26 à 18.15.07.png


D'avance Merci à tous
 
Dernière édition:
Solution
Re

Pour rester Kissien ;)
J'ai simplifié la précédente macro
VB:
Sub Archivage()
Application.ScreenUpdating = False
Dim arrINap As Range, arrIN, arrOUT(), i&, n&, k&, j%
arrINa = Array([D3], [D5], [D7], [D9], [D11], [D13])
Set p = Range("F3:I13"): arrIN = p: k = UBound(arrIN, 1)
For i = 1 To k
For j = 1 To 4
If Trim(arrIN(i, j)) <> vbNullString Then
If Trim(arrIN(i, j)) > 0 Then
n = n + 1
ReDim Preserve arrOUT(1 To 2, 1 To n)
arrOUT(1, n) = arrIN(i, j)
End If
End If
Next j
Next i
Feuil2.Cells(Rows.Count, 1).End(3)(2).Resize(, UBound(arrINa, 1) + 1) = arrINa
Feuil2.Cells(Rows.Count, 7).End(3)(2).Resize(, n) = arrOUT
End Sub

Phil69970

XLDnaute Barbatruc
Bonjour @ChTi160

J'ai modifié le fichier mais je suis pas sur qu'une liste de noms sans n° de tel et/ou Mail ou d'autre signe qui permette de les cibler précisément enfreigne le RGPD car des jean dupont ou pierre durand il doit y en avoir des dizaines voir des centaines... j'aimerais bien avoir l'avis du web master.

Dans mon esprit le RGPD est fait pour ne pouvoir identifier clairement une/des personnes avec son nom, adresse, tel, mail.... et le nom en soi n'est pas suffisant.
Edit : Si j’écris E. Macron ou J. Castex j'enfreins le RGPD ?

@Phil69970
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
je viens de faire ce que quiconque peut faire Lol
j'ai entré un nom Ligne 3 ,Colonne K de la feuille "Base de donnée"
Eh bien hormis que l'on apprend la profession de ce Monsieur son chef de traction , je peux te donner son année de Naissance (N° de CP) son lieu de résidence etc etc
N° de Cp qui font souvent l'objet de détournement et qui amène à des situations de Fraude ,c'est l'équivalent d'un Numéro de sécu et même Plus Lol
Psychose ? non Lol
mais je n'ai pas mis son nom Lol
Jean marie
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

J'ai pas vu le rapport avec sa date de naissance sauf si tu pense que:
77 serait son année de naissance
05 serait son mois de naissance ?
mais 909 N je ne vois pas ?
et on apprends la ville ou il travaille avec la colonne UP
1616928076838.png

Mais pas de pb j'ai modifié le fichier...

@Phil69970
 

nobodyuse

XLDnaute Occasionnel
Re

Et en bonus, le code VBA idoine pour créer la même base de donnée
que sur la copie d'écran
VB:
Sub Creer_Test()
Dim fm(5)
[A1:E1] = [{"COMMANDE","DATE","REF_PROD","DESIGNATION","PRIX"}]
Application.ScreenUpdating = False
fm(0) = "=""COM ""&ROUNDUP(ROW()/25,0)"
fm(1) = "=DATE(RANDBETWEEN(2018,2020),RANDBETWEEN(1,12),RANDBETWEEN(1,15))"
fm(2) = "=""PROD_""&MOD(ROW()+1,13)+1"
fm(3) = "=R1C4&TEXT(MOD(ROW()+1,13)+1,"""""" """"0"")"
fm(4) = "=RANDBETWEEN(15,30)*ROW()"
Range("A2:E200") = fm
Cells(1).CurrentRegion = Cells(1).CurrentRegion.Value
End Sub
Le challenge serait que tu reproduises le TCD qu'on voit à droite de l'écran avant la fin du week-end
;)

j'arrive a mieux que cela impossible d'afficher les désignations
le pire c'est que je pige pas tout il doit me manquer beaucoup de notions
Capture d’écran 2021-03-28 à 13.04.34.png


Par contre comme je l'ai dit plus haut
je ne vois pas comment pouvoir utiliser ce système pour ce dont j'ai besoin (hormis pour synthetiser pour l'acheteur pourvoir voir le nombre de reférences par tailles... et encore avant tout ça il faut trouver comment rentrer et utiliser les données
je suis vraiment désolé je suis loin d'avoir vos capacités, ça me desespere :(
 

Staple1600

XLDnaute Barbatruc
Re

=>Phil
A mon sens, sur XLD, pour ce qui concerne le RGPD, c'est surtout pour éviter/prévenir qu'un demandeur "inconscient" pris dans sa problématique poste sur le forum un fichier utilisé par l'entreprise qu'il l'emploie.
(donc avec potentiellement des données sensibles et ou personnelles)

Dans l'idéal, un fichier avec NOM1 PRENOM1 etc.. devrait largement suffire dans la plupart des cas.
 

Staple1600

XLDnaute Barbatruc
Re

=>nobodyuse
Bravo
Challenge relévé

Tu as vu que quand tu cliques sur les annés, cela affiche les données selon l'année cliquée
(ce qui évite donc de créer N feuilles)
On peut filtrer: par mois, par trimestres selon les besoins
(Toujours à partir d'une base de données uniques)

NB: Pour la saisie des données, j'ai déjà évoqué la piste à suivre : Userform
 

nobodyuse

XLDnaute Occasionnel
Bonjour à tous

A priori tu as plusieurs dizaines de MFC sur ton fichier et ce serait ça qui plombe ton fichier...

Vite fait j'ai fait ça il en manque beaucoup mais si ça peut te donner des idées...

*La BDD te permet de faire directement des TCD
*La feuille2 Janv2021 c'est juste pour rester dans la même idée que ton fichier de départ....

@Phil69970

Phil,

je viens de regardé ce que tu m'a envoyé
c'est un peu l'idée de ce qu'il me faudrait, sachant que chaque agents peux commander plusieurs articles,
sur une utilisation en réel en janvier un agent a commandé 10 articles différents (ce qui été la max que j'avais prévu sur mon ancien système, donc c'est passé juste mais pas a l’abri qu'une personne en commande un jour 12 ou 13) dont certains en plusieurs quantités.
et sauf ajouter des lignes vides je ne vois pas comment faire (ce que au final j'avais fait au départ sauf que j'avais ajouté des cadres et des couleurs pour donner un peu de mise en forme pour rendre jolie et intuitif l'utilisation au personnes qui utilise ce fichiers

Pour revenir a ce qui a été dit plus haut oui en effet il y avais bcp de MFC car j'avais appliqué un système pour mettre "en valeur" les soldes positif (en vert) et les soldes négatif (en rouge).
ce qui permettai d'un coup d'oeil en allant sur la "fiche" de l'agents de connaitre son solde et le lui dire.
 

nobodyuse

XLDnaute Occasionnel
Re

J'ai pas vu le rapport avec sa date de naissance sauf si tu pense que:
77 serait son année de naissance
05 serait son mois de naissance ?
mais 909 N je ne vois pas ?
et on apprends la ville ou il travaille avec la colonne UP
Regarde la pièce jointe 1100300
Mais pas de pb j'ai modifié le fichier...

@Phil69970

seule le 2 premier chiffre correspondent a l'année de naissance pour le reste c un calcul "savant" appliqué que je ne connais même pas.
pour ma part j'ai anonymisé pour etre en conformité
je ne debattrai pas plus sur ce sujet je comprend parfaitement les impacts et surtout l'obligation de respecter la charte mise en place
 

nobodyuse

XLDnaute Occasionnel
Re

=>nobodyuse
Bravo
Challenge relévé

Tu as vu que quand tu cliques sur les annés, cela affiche les données selon l'année cliquée
(ce qui évite donc de créer N feuilles)
On peut filtrer: par mois, par trimestres selon les besoins
(Toujours à partir d'une base de données uniques)

NB: Pour la saisie des données, j'ai déjà évoqué la piste à suivre : Userform

Merci

oui je vois bien Staple

mais comment rentrer et utiliser ces données c'est bien la mon probleme :/
 

nobodyuse

XLDnaute Occasionnel
Re
=>nobodyuse
regardes ces deux "tutos" pour commencer
Lien 1
Lien 2


je vais regarder cela de plus prêt, si je comprend bien je ne suis pas sortie du sable la :/
le temps de comprendre, de mettre en place, de lier tous les éléments, de réussir a gérer pour les 3 sites, d'avoir les pages, ...... au vu du temps que j'ai passé sur mon ancien fichier en utilisant de la mise en page et des formules plutôt basique pour vous tous qui pour moi m’ont pris énormément de temps
c'est limite décourageant
 

Discussions similaires

Réponses
16
Affichages
459

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 814
dernier inscrit
JLGalley