Une base de donné dynamique sur Excel
Bonjours tout le monde !
Je m’adresse à vous les fans d’EXCEL en vue d’obtenir une solutions a mon problème que je n’arrive pas a résoudre !
Çi joint le fichier Excel. test400
J’essaie de me faire une base de donné dynamique sur EXCEL.
J’ai inséré 3 feuille (donnée_2 ; resultat_2 et téléchargement).
La feuille téléchargement c’est la ou je vais prendre mes donné sur le web et ou je balance mes données dans les colonnes A – B-C –D (toujours au même endroit (très important de respecter exactement la même case attribué)
LA feuille de donnée_2
La colonne A doit resté libre en cas de changement de nom de libellé il y a 400 lignes de prévus.
La colonne B ce sont les données qui proviens de la feuille Téléchargements (colonne C )
La feuille resultat_2
Tout les donné qui proviens de la feuille de donnée_2 va se mettre automatiquement sur la feuille résultats suivant le jour ou les donné seront introduite en gardant historique.
La colonne A on retrouve les dates. A2 à A1554 ; A1560 à A3112 ; A3118 à A4670 ; A4676 à A6228
La ligne A1 à CW1 ; A1559 à CW1559 ; A3117 à CW3117 ; A4675 à CW4675 on retrouve 100 libellé par ligne. Les lignes de libellé doivent rester également libres en cas de changement ultérieur.
Merci de votre aide.
Salut
Si j'ai bien compris tu veux copier une colonne de 400 données colonne en 4 lignes de 100
Essayes cette macro complètement adapté à ton fichier que je trouve personnellement lourd (pourquoi prévoir toutes ces dates à l'avance ?) Enfin bon.
Sub transfert_donnees_vers_resultat()
datedeb = "01/11/2011" 'date début
'on prend toutes les données une par une
For donnee = 1 To 400
'On va copier la donnée dans la feuille résultat
'Colonne : tranche de 100 donc donnée 55,155,255,355 même colonne 55 (56 avec le libellé) soit
ncolonne = ((donnee - 1) Mod 100) + 1 + 1
'ligne : 4 zones début à datedeb, 1553 dates, 4 lignes vides + 1 titre
zone = Int((donnee - 1) / 100) + 1
'On considère enregistrer à la date du jour
nligne = DateDiff("d", datedeb, Date) + 2 + (zone - 1) * (1553 + 4 + 1)
'Reste à copier
Worksheets("resultat_2").Cells(nligne, ncolonne).Value = Worksheets("Donnée_2").Cells(donnee, 2).Value
Next
End SubA plus