recherche numéro de ligne (vba) [resolu]

moutchec

XLDnaute Occasionnel
bonjour à tous,
je cherche un code vba pour trouver le numéro de ligne du premier jour de la semaine en cours, soit en fonction de la date en colonne A, soit en fonction du premier numéro de la semaine courante en colonne B.
merci d'avance pour votre aide.
Moutchec.
 

Pièces jointes

  • Classeur1.xlsx
    19.9 KB · Affichages: 28

Modeste geedee

XLDnaute Barbatruc
Bonsour mapomme, Chris401
bonjour à tous,
je cherche un code vba pour trouver le numéro de ligne du premier jour de la semaine en cours, soit en fonction de la date en colonne A, soit en fonction du premier numéro de la semaine courante en colonne B.
merci d'avance pour votre aide.
Moutchec.
:p en VBA dites-vous ???
VB:
Sub test()
MsgBox "Ligne : " & Evaluate("=MATCH(TODAY()-WEEKDAY(TODAY(),3),A:A,1)") _
& Chr(10) & Format(Evaluate("=TODAY()-WEEKDAY(TODAY(),3)"), "ddd d mmm yyyy"), vbInformation, "Début semaine en cours"

End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @moutchec, à tous,

Comme l'a fait remarqué @Modeste geedee, une solution VBA était recherchée.

Voici une solution en VBA qui devrait fonctionner:
  • si les dates sont dans le désordre
  • si plusieurs années sont présentes avec le même numéro de semaine
  • si la semaine concernée est à cheval sur deux années (contrairement à ma 1ère proposition)
On peut soit n’utiliser que du VBA soit utiliser la fonction PremJourSem(xplage As Range) directement sur une feuille de calcul.
Pour du VBA pur, le code se trouve dans le module de Feuil1 et le code de la fonction PremJourSem dans module1.

Le numéro retourné est le numéro de la première ligne contenant le premier jour de la semaine (dans le cas où plusieurs lignes contiendraient la bonne date)
 

Pièces jointes

  • Moutchec- date min semaine- v2.xlsm
    25.7 KB · Affichages: 22
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Le numéro retourné est le numéro de la première ligne contenant le premier jour de la semaine (dans le cas où plusieurs lignes contiendrait la bonne date)
:cool: plus précisément (suprême finesse) :
Le numéro retourné est le numéro de la première ligne contenant la plus petite date appartenant à la semaine en cours
même si cette date n'est pas le Lundi (premier jour de la semaine)
upload_2018-12-11_1-7-36.png
 

Discussions similaires

Réponses
6
Affichages
256
Réponses
3
Affichages
235