Probleme VBA - VB/VBA/VBS - Programmation
Marsh Posté le 08-07-2008 à 11:14:10
bonjour,
set un petit tableau croise dynamique ca ne ferait pas l'affaire ?
Marsh Posté le 08-07-2008 à 11:25:15
En gros, toutes mes connaissances VBA sont dans ma macro . Comment faire pour le tableau croise dynamique svp?
Marsh Posté le 08-07-2008 à 11:27:38
voir ce site (par exemple)
http://www.lecompagnon.info/excel/ [...] cdcreation
il ne sagit pas de VBA mais dune fonctionalite dexcel
Marsh Posté le 08-07-2008 à 10:27:01
Bonjour... Je fais appel à vote aide car je n'arriev pas à résoudre un probleme que j'ai avec une macro... je ne suis pas un expert dans la matiere...
Donc, j'ai un fichier Excell avec en 1ere colone des dates, en 4eme un nom. En fait, chaque fois qu'un article apparait pour un de mes clients, je met la date, le nom du média dans lequel l'article est apparu, etc.
Ce dont j'ai besoin poru ma macro, c'est de remplir un tableau comme suit:
Médias Dec 06 Jan 07 Fev 07 Mars 07 ....
Média n1 X Y Z A
Média n2 J K L M
...
ou x, y, z, a, j, k, l, m représentent le nombre d'articles apparus pendant ce mois la dans tel média.
Donc, comme macro, je me suis dit que j'allais procéder comme suit:
Voir la 1ere colone, la ou on est entre le 01/12/2006 et le 31/12/2006 - voir la 5eme colonne ou c'est mis Média n1 (dans ma macro, ce média s'appel Metro) et compabiliser le tout (X) et mettre ce chiffre (X) dans la case qu'il faut (pour ma macro, faut mettre ca dns la case U7).
Ensuite, voir la 1ere colone, voir les dates entre 01/01/2007 et 31/01/2007 - voir ou c'est marqué Média n1, et comptabiliser le tout (Y) et marquer ca dans la case V7).
etc. pour tous les mois.
Pour tous les médias.......
Je sais, c'est long, probablement pas la meilleur facon de procéder... Mais je ne connais pas d'autre moyen. C'est pour cela que je viens demander l'aide des experts :-).
Voici une copie de ma macro:
Option Explicit
Sub count()
Dim metrodec As Double
Dim businessictdec As Double
Dim nom As String
Dim ligne As Double
Dim day As Date
Dim datedeb As Date
Dim datefin As Date
metrodec = 0
businessictdec = 0
nom = "Cells(ligne, 5).Value"
day = "Cells(ligne, 1).Value"
datedeb = "Cells(7,18).Value"
datefin = "Cells(8,18).Value"
ligne = 7
While (nom <> "End" )
If (nom = "De Tijd" And day > datedeb And day < datefin) Then
metrodec = metrodec + 1
ElseIf (nom = "Business ICT" And day > datedeb And day < datefin) Then
businessictdec = businessictdec + 1
End If
ligne = ligne + 1
nom = Cells(ligne, 5).Value
day = Cells(ligne, 1).Value
Cells(7, 21).Value = metrodec
Cells(9, 21).Value = businessictdec
Wend
End Sub
Merci poru votre aide!!!