Liste d'éléments a copier d'une feuille sur l'autre afin de les exploiter

marido

XLDnaute Junior
Bonjour,

Votre aide sera la bienvenue, car après plusieurs tentatives, le test n'est pas concluant :-(
J'ai besoin de travailler à partir d'une liste d'éléments (Col Metric Name - provenant de l'onglet Data) qui est variable d'un mois sur l'autre.
L'objectif étant de mettre ensuite en évidence les évolutions

Onglet "Data" : des données qui viennent d'un autre fichier et dont je fais préalablement un copy / paste
Pour la col J de l'onglet Data, j'ai fait une petite macro afin de recuperer cette liste d'éléments et la copier dans la feuille Evolution.... et pouvoir ainsi, travailler sur
les évolutions mois par mois

Mon problème : lorsque j'actionne la macro de l'onglet EVOLUTION (bouton "update" a gauche), je me retrouve avec des #REF! dans mes commandes
J'ai déjà modifié la macro initiale pour copier ma liste dans un onglet "Temp" (au lieu de le copier directement dans l'onglet "Evolution").... mais ca n'a pas résolu le pb

Je dois mal m'y prendre....

MD
 

Pièces jointes

  • Dashboard V2 - test.xlsm
    60.4 KB · Affichages: 16

marido

XLDnaute Junior
Merci, tu développes plus vite que je n'arriver à tester ;-)
Basé sur ton idée, j'ai fait un petit mixte à savoir
1) En A6 = un menu déroulant comportant la liste des noms (Data validation => Liste constituée à partir d'un onglet intermédiaire).
je n'ai laissé que 2 noms pour le moment, pour faciliter les tests
2) La date est en C4 (j'ai modifié la macro dans ce sens) pour commencer à préparer février, puis mars, puis.....

2 derniers points stp :
Peux tu m'indiquer stp comment je peux modifier la macro pour le mois suivant (bonne méthode !), je ne suis pas au point dans les boucles imbriquées et mon résultat n'est pas satisfaisant

Egalement, lorsque je sélectionne "Clementine - FRANCE" ds le menu déroulant en A6, puis UPDATE, j'obtiens 15 lignes alors qu'il n'y a qu'une ligne pour ce nom (soit 1 seul métrique) dans l'onglet DATA)

Merci encore
MD
 

Pièces jointes

  • Dashboard V3.1 - test.xlsm
    34 KB · Affichages: 3

youky(BJ)

XLDnaute Barbatruc
Bravo tu as fait du bon boulot et tout compris.
Bon ta petite boulette c'est rien du tout
Tu n'as pas modifié pour effacer tout les tableaux donc les 1 s'ajoute
Remplace O par CG qui est la dernière colonne
à Sheets("EVOLUTION").[B6:CG5000].ClearContents 'efface
et tout rentre dans l'ordre
Un truc encore, je pensais que l'on pouvait trouver plusieurs lignes donc + de 1
j'additionne en mettant la cellule =la cellule+1 soit Cells(k, 3) = Cells(k, 3) + 1
Si tu es sur d'avoir toujours 1 tu peux supprimer en mettant seulement
Cells(k, 3) =1
Ceci à faire sur toutes les lignes concernées.
Félicitation pour le code
Bruno
 

youky(BJ)

XLDnaute Barbatruc
J'ai mis une boucle de +
Cela fait une macro bien plus courte
Bruno
Code:
Sub Extraction_doublon()
Dim nom As String
Sheets("EVOLUTION").[B6:CG5000].ClearContents 'efface
With Sheets("DATA")
Set dico = CreateObject("Scripting.Dictionary")
For Each c In .Range(.[J2], .[J65000].End(xlUp))
dico.Item(c.Value) = dico.Item(c.Value)
Next c
Sheets("EVOLUTION").[B6].Resize(dico.Count, 1) = Application.Transpose(dico.keys)
nom = [A6]
For k = 6 To [B65000].End(3).Row 'boucle sur col B de Evolution
metric = Cells(k, 2)
For lg = 2 To .[A65000].End(3).Row 'boucle sur Data
If .Cells(lg, 10) = metric Then
'boucle sur les 12 mois
For col = 3 To 80 Step 7
If .Cells(lg, 6) = nom And .Cells(lg, 9) = Cells(4, col) Then
  If .Cells(lg, 25) = [C5] Then Cells(k, col) = 1 'on écrit 1
  If .Cells(lg, 25) = [D5] Then Cells(k, col + 1) = 1
  If Left(.Cells(lg, 11), 8) = "ROLLOVER" Then Cells(k, col + 2) = 1
  If .Cells(lg, 20) = [F5] Then Cells(k, col + 3) = 1
  If .Cells(lg, 20) = [G5] Then Cells(k, col + 4) = 1
  If .Cells(lg, 20) = "" Then Cells(k, col + 5) = 1
End If
Next
End If
Next
Next
End With
End Sub
 

marido

XLDnaute Junior
Bonjour et merci beaucoup pour tous ces échanges et conseils
Je vais prendre le temps, ce we, de faire tourner cette jolie mécanique.
Dans un premier temps avec la macro la plus longue, puis avec la macro plus courte
Te remerciant encore de ton temps
MD
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 339
Membres
102 865
dernier inscrit
FreyaSalander