récupération d'une partie d'un champ date

  • Initiateur de la discussion riz
  • Date de début
R

riz

Guest
Bonjour,

Après de multiples recherches, je me resoud a poster mon probleme (de debutant):

J'ai une colonne A avec des dates sous le format jj/mm/aaaa hh:mm.
J'ai une colonne B avec une heure hh:mm:ss
J'ai une colonne C avec des mots qui seront un critère.

et je cherche a additionner les heures de la collonne B si j'ai 03 pour les mois dans la colonne A si dans la colonne C j'ai 'oui'.

Et j'ai un peux de mal avec les formats date, je ne sais pas comment lui spécifier ca par mois.

J'aimerai faire une macro me permettant de faire ca tous les mois.


Merci par avance de vos aides.
 
J

Julien

Guest
hello,

tu peux récupérer la valeur d'une partie de la date à l'aide des formules:
=mois(cellule qui contient la date)
ou
=année(cellule qui contient la date)

ensuite, utilise =somme.si(..)

Julien
 
A

av

Guest
<et je cherche a additionner les heures de la <collonne B si j'ai 03 pour les mois dans la <colonne A
<si dans la colonne C j'ai \\'oui\\'.


Avec la la cellule au format [hh]:mm

=SOMMEPROD((MOIS(PlageDates)=3)*(PlageMots='oui')*PlageHeures)

AV [MVP Excel]
 
R

riz

Guest
waouh, merci

j'avais fait un truc du genre : =SI(MOIS(B25:B29)=3;SI((F25:F29)='oui';SOMME(D25:D29)))

Mais ca me renvoie une erreur #valeur et je comprend pas trop pourquoi mais avec sommeprod, ca marche nickel :)


Encore merci
 

Hervé

XLDnaute Barbatruc
Bonjour riz, julien, av

comme tu demandais une macro, ma contribution :

renvoi en feuille 2


Sub Bouton1_QuandClic()
Dim tablo(1 To 12, 1 To 2)
Dim derligne As Integer
Dim i As Byte

derligne = Range('a65536').End(xlUp).Row

For i = 1 To 12
        tablo(i, 1) = MonthName(i)
        tablo(i, 2) = Evaluate('SUMPRODUCT((MONTH(a1:a' & derligne & ')=' & i & ')*(c1:c' & derligne & '=''oui'')*b1:b' & derligne & ')')
Next i

With Sheets('feuil2')
       
For i = 1 To 12
                .Cells(i, 1) = tablo(i, 1)
               
With .Cells(i, 2)
                        .Value = tablo(i, 2)
                        .NumberFormat = 'h:mm;@'
               
End With
       
Next i
End With
End Sub


salut
 

Discussions similaires

Réponses
9
Affichages
470

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso