Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

rechercher valeur associée au début et fin du mois (rechercheV???)

  • Initiateur de la discussion Initiateur de la discussion n00bi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

n00bi

XLDnaute Nouveau
bonjour
j'ai un tableau avec en colonne A les dates par ordre chronologique.

j'ai décomposé ces dates en année, mois, jour dans les colonnes B C et D.

en colonne E, j'ai le chiffre d'affaire de chaque jour par exemple.

j'aimerai récupérer le chiffre d'affaire du premier et dernier jour de chaque mois.
j'essaye avec la fonction recherchev mais je bloque.
(voir cellules jaunes dans mon fichier exemple)

vous pouvez m'aider à faire une fonction svp?

merci
 

Pièces jointes

merci!*je vais regarde la version index combinée.

Impréssioné par la macro avec la touche GO.
comment je peux accéder au code pour voir comment ca a été écrit?
sinon, tu peux m'expliquer rapidement ton raisonnement pour faire cet algortihme?
 
Re

Macro commentée

Sub test()
'definition du debut
debut = Range("C2")
'creation d'un tableau de resultat
ReDim tabres(1 To 4, 0)
'premieres données inscrites dans le tableau
tabres(1, 0) = Range("B2")
tabres(2, 0) = Format(Range("A2"), "mmmm")
tabres(3, 0) = Range("E2")
'on augmente le tableau d'une ligne
ReDim Preserve tabres(1 To 4, UBound(tabres, 2) + 1)
'pour chaque ligne jusqu'a la derniere ligne non vide de la colonne C
For n = 2 To Range("C" & Rows.Count).End(xlUp).Row
'si la donnéée colonne C est differente du debut
If Range("C" & n) <> debut Then
'remplir le tableau
'l'annee
tabres(1, UBound(tabres, 2)) = Range("B" & n)
'le mois
tabres(2, UBound(tabres, 2)) = Format(Range("A" & n), "mmmm")
'le chiffre du debut
tabres(3, UBound(tabres, 2)) = Range("E" & n)
'le chiffre de fin (ligne precedente dans ligne precedente du tableau)
tabres(4, UBound(tabres, 2) - 1) = Range("E" & n - 1)
'on augmente le tableau d'une ligne
ReDim Preserve tabres(1 To 4, UBound(tabres, 2) + 1)
'le debut devient le nouveau mois
debut = Range("C" & n)
End If
Next
'mise du dernier chiffre de fin dans le tableau
tabres(4, UBound(tabres, 2) - 1) = Range("E" & n - 1)
'ecriture du tableau
Range("H3").Resize(UBound(tabres, 2) + 1, UBound(tabres, 1)) = Application.Transpose(tabres)
End Sub
 

Pièces jointes

merci

mais j'ai un 1er problème
je comprends pas la 1ere version avec les formules excel.

je pensais avoir un minimun de niveau en excel...
je déchange.

quelqu'un peut m'expliquer pourquoi on cherche le min pour la date la plus proche?
 
merci

mais j'ai un 1er problème
je comprends pas la 1ere version avec les formules excel.

je pensais avoir un minimun de niveau en excel...
je déchange.

quelqu'un peut m'expliquer pourquoi on cherche le min pour la date la plus proche?

Bonjour n00bi.
La fonction Mois récupère le numéro du mois.
Si le mois est en texte tu auras une erreur, d'où l'utilisation de MOIS(F3&1).
Ensuite nous ne récupérons pas le minimum d'une date, mais la ligne minimale soit la première ligne où apparaît ce mois.
C'est pour ça que je faisais remarqué que la fonction ne fonction seulement si les dates sont en ordres croissantes.
J'utilise le MAX pour la fin de mois.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…