[HELP] EXCEL Macro : comment passer d'une colonne à une autre

EXCEL Macro : comment passer d'une colonne à une autre [HELP] - Logiciels - Windows & Software

Marsh Posté le 11-03-2003 à 17:48:56    

bonjour, voilà :
 
voici mon tableau :
 
http://perso.wanadoo.fr/bleu-infini/xls.jpg
 
je dois faire un chtit programme en VB qui selon la couleur des cases d'une ligne me calculerait le nombre de jour entre deux dates.
 
 
à partir de la colonne S, il y à des dates :
je voudrais donc un programme qui :
1. regarde la preimere case verte de la ligne  
2. mette en mémoire la date de la premiere ligne
3. compte le nombre de cases  verte sur une ligne
4. mette en mémoire la date de la dernière case verte
5. me donne le nombre de jour entre les deux dates
6. divise le résultats par le nombre de cases vertes !!!
 
 CECI ME DOnne le MTBF (mean time between failure)
 
j'ai déja trouve la fonction permettant de chercher la couleur :
           If Range("w" & i).Interior.Color = vbGreen Then
 
et la solution pour compter le nombre de jour.
[#ff0000]Range("AG" & i) = (DateDiff("D", Range("V" & i), Range("Y" & i), vbMonday, vbFirstJan1)) / CompteurVert[#ff0000]
 
 
EDIT 3 : Je cherche Maintenant comment calculer le nombre de case verte d'une ligne ???
 
Je voudrais savoir comment on passe d'une colonne à une autre dans l'incrémentation ????
 
Merci bcp à vous


Message édité par nico76 le 12-03-2003 à 14:09:27
Reply

Marsh Posté le 11-03-2003 à 17:48:56   

Reply

Marsh Posté le 11-03-2003 à 19:28:48    

HELP

Reply

Marsh Posté le 11-03-2003 à 19:40:55    

sur open calc, il suffit de soustraire les 2 cellules, j'imiagine que ça doit pas être bien différent avec Excel
 
EDIT : je viens de vérifier avec Excel 2000, il suffit bien de soustraire les dates l'une à l'autre et que la cellule soit dans le bon format.


Message édité par Mjules le 11-03-2003 à 19:42:59

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 12-03-2003 à 08:05:16    

help

Reply

Marsh Posté le 12-03-2003 à 08:31:08    

la fonction: JOURS360(date_début;date_fin;méthode)fait ça sur une base de 12 mois de 30 jours. Explique mieux ton pb de cases en vert
 

Reply

Marsh Posté le 12-03-2003 à 08:38:27    

j'ai essayé le "jours360", c'est pas mal mais j'aimerais bien un truc plus précis.
 
en fait, mon calcul sur les colonnes doit commencer à partir d'une case verte.
 
ensuite, je dois diviser le nombre obtenu par le nombre de case verte.
 
Merci
 

Reply

Marsh Posté le 12-03-2003 à 11:16:40    

Ben mjules te l'a dit : date de fin - date de début = nbre de jours !
 Que veux-tu de plus précis, l'heure ?
 
A+

Reply

Marsh Posté le 12-03-2003 à 11:26:47    

:bounce:

Reply

Marsh Posté le 12-03-2003 à 11:38:34    

Les dates sous excel on un format a la con, regarde dans l'aide, je me rappele plus comment ca marche mais en gros si tu transforme une date en format numérique tu auras un nombre.  
Ce qui est avant la virgule c les jours ce qui est après c les heures. faut que tu utilise ce format la . et après c le format de la cellule d'excel qui te donnera la date avec une bonne gueule

Reply

Marsh Posté le 12-03-2003 à 11:42:08    

DATEDIF("1/1/2001","1/1/2003","A" ) égale 2, c'est-à-dire deux années entières dans la période.
 
DATEDIF("1/6/2001","15/8/2002","J" ) égale 440, c'est-à-dire 440 jours entre le 1er juin 2001 et le 15 août 2002.
 
DATEDIF("1/6/2001","15/8/2002","AJ" ) égale 75, c'est-à-dire 75 jours entre le 1er juin et le15 août, sans tenir compte des années des dates.
 
DATEDIF("1/6/2001","15/8/2002","MJ" ) égale 14, c'est-à-dire la différence entre 1 et 15  ? le jour de date_début et le jour de date_fin  ? sans tenir compte des mois et des années des dates.
 

Reply

Marsh Posté le 12-03-2003 à 11:42:08   

Reply

Marsh Posté le 12-03-2003 à 11:45:16    

ahh merde toi tu voulais la fct VBA: met la date entre # genre #12/03/03# je crois que c comme ca

Reply

Marsh Posté le 12-03-2003 à 11:54:54    

VeauX a écrit :

ahh merde toi tu voulais la fct VBA: met la date entre # genre #12/03/03# je crois que c comme ca


 
peux tu m'écrire une simple ligne sous visual qui afficherait le résultat dans une case ?

Reply

Marsh Posté le 12-03-2003 à 13:48:28    

Worksheets("xxxx" ).Cells(xxx, xxx).Value = DateDiff("j", #11/03/03#,#11/03/03#)
 
ca devrai marcher (g pas vérifié)

Reply

Marsh Posté le 12-03-2003 à 14:04:40    

le code exact est :
 
Range("AG" & i) = DateDiff("D", "27/12/1979", "03/02/2003", vbMonday, vbFirstJan1))
 

Reply

Marsh Posté le 12-03-2003 à 14:17:39    

avec cells, tu peux spécifier des ligne et des colonnes, ça aide pour les boucles

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed