Bonjour,
J'ai réalisé ce tableau qui me donne exactement le résultat escompté. Problème: mon fichier rame comme pas possible, voir même il plante. Je pense que c'est à cause des fonctions matricielles (?)
Est il possible d'améliorer le temps de calcul? Pourquoi rame t il comme cela ce fichier?
Infos sur le document:
Dans l'onglet convert j'ai un tableau avec des données sur 3 axes: En A les variables, En colonne R, le nom des salariés et sur une ligne horizontale les mois allant de 1 à 12 et le total. Il s'agit d'un import qui est copié-collé ici. Je ne peux donc pas modifier sa forme. Le nombre de salarié varie de 1 à 1000. Les variables ne sont pas forcement les mêmes, elles peuvent être vides aussi.
J'ai crée un onglet "Feuille1" qui me permet de faire la liste des salariés et des variables en valeur unique.
Ensuite dans l'onglet Importtotal j'ai finalement des mêmes donnée que dans convert mais sous une autre présentation. En H et I je me donne la possibilité de choisir via un menu déroulant la variable dont j'ai besoin. J'ai utilisé les fonctions matricielles car je ne sais pas écrire les macros.
Si le nombre de données est trop important pour les fonctions matricielles, je veux bien tenter le VBA. Etape 1 : lister les variables et les salariés en valeur unique et dans l'ordre : J'ai trouvé cette macro sur le célèbre site de Jacques Boisgontier. Mais il classe sur la même feuille et je ne sais pas comment lui demander de classer sur "Feuille 1"
Public Sub ListeSansDoublonsTriée()
Dim ws As Worksheet
Dim Dict As Object
Dim n As Long
Dim Cell As Range
Set ws = ActiveSheet
Set Dict = CreateObject("Scripting.Dictionary")
With ws
.Cells(5).CurrentRegion.Offset(1).ClearContents
n = .Cells(.Rows.Count, 1).End(xlUp).Row
For Each Cell In .Cells(2, 1).Resize(n)
If Cell <> "" Then Dict(Cell.Value) = ""
Next Cell
.Cells(2, 5).Resize(Dict.Count, 1) = Application.Transpose(Dict.keys)
.Cells(5).Sort Key1:=.Cells(2, 5), Order1:=xlAscending, Header:=xlYes
End With
Set Dict = Nothing: Set ws = Nothing
End Sub
Etape 2 : Aller chercher les infos dans Convert et les "classer" comme je veux.
Voila, quelle est votre opinion par rapport à cela? Pourriez vous me guider vers ce que je dois faire? Merci par avance