Sélection en VBA de la cellule du numéro de semaine courante

abtony

XLDnaute Impliqué
Bonjour a tous, bonjour le forum,

J'ai une feuille nommé Jours, sur lequel il y a un diagramme de gannt, a la linge 12 et a partir de la colonne L j'ai des semaines de 6 jours du lundi au samedi, sur la ligne 13 j'ai les numéros de semaine en formule suivant date.

Le diagramme est sur une année de la colonne L a la colonne JK.

Je souhaiterais qu'a l'ouverture de mon classeur, que le numéro de semaine courante soit sélectionner et visible a partir de colonne K.

Voila j'espère avoir été assez clair sur mon explication.

merci d'avance pour votre aide

abtony
 

Modeste

XLDnaute Barbatruc
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonjour abtony,

abtony à dit:
Voila j'espère avoir été assez clair sur mon explication
Dans les grandes lignes, il me semble que oui, mais un bout de ficher (contenant en exemple une partie des données des lignes 12 et 13) permettrait d'en savoir un peu plus, avant de proposer des pistes.
Quand tu écris "j'ai des semaines de 6 jours du lundi au samedi", rien ne permet de savoir sous quelle forme sont ces données ... de vraies dates? Si c'est le cas, il suffirait sans doute de trouver la position de la date du jour, en ligne 12 et d'activer la cellule correspondante? ... En imaginant que tu n'ouvriras pas le fichier un dimanche :rolleyes: (or nous sommes dimanche ;))
 

abtony

XLDnaute Impliqué
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonjour a tous, bonjour Modeste,

Je joint un bout de fichier sans macro, cela plus clair.

Le but est qua l'ouverture du classeur sur la feuille jour le curseur se place a la date du jour, ou la semaine en cour en rouge.

Merci d'avance

Bon dimanche
 

Pièces jointes

  • Classeur1.xlsx
    125.2 KB · Affichages: 73
  • Classeur1.xlsx
    125.2 KB · Affichages: 55

Modeste

XLDnaute Barbatruc
Re : Sélection en VBA de la cellule du numéro de semaine courante

Re,

Ben oui, mais sans macro, on n'a plus le n° de semaine!?
Et pour les dates, tu parlais de semaine de 6 jours ... et il me semble n'en avoir vu que 5 (lundi-->vendredi) :confused:

Dans la fenêtre de code du ThisWorkbook, essaie ce qui suit:
VB:
Private Sub Workbook_Open()
With Sheets("Jours")
    leLundi = CDbl(Date - IIf(Weekday(Date, vbMonday) = 1, 0, Weekday(Date, vbMonday) - 1)) 'détermine le lundi qui précède (ou le lundi en cours)
    col = Application.Match(leLundi, .[11:11], 0) 'trouve la position du lundi de la semaine en cours
    If IsError(col) Then MsgBox "Date non-trouvée": Exit Sub
    ActiveWindow.ScrollColumn = col
    .Cells(12, col).Activate
End With
End Sub
Ceci devrait afficher à gauche de l'écran (juste après les colonnes figées) la colonne correspondant au lundi de la semaine en cours ... si tout va bien!
 

abtony

XLDnaute Impliqué
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonsoir Modeste,

Merci infiniment, ça fonctionne très bien.

Sur mon classeur original il y a les samedi que j'avais rajouter.

Merci encore et bonne fêtes de fin d'année.

Bonne soirée
 

abtony

XLDnaute Impliqué
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonsoir le forum, Modeste,

je pense a une chose, est il possible de faire la même chose mais sur la colonne H, date début pour que mon planning soit visible a la date courante horizontalement et verticalement.

je n'arrive pas a adapter a partir de ton code.

merci pour ton aide

cordialement

bonne soirée
 

Modeste

XLDnaute Barbatruc
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonjour abtony, le reste du forum,

Une fois de plus, l'absence de macros dans ton fichier ne permet pas de savoir le contenu réel de ta colonne H. On ne sait donc pas le type des données, ni s'il s'agit, là encore, de semaines de 6 jours, (ou 5 ou 7)? J'ai donc gardé le repère du lundi.

D'autre part, si tu as essayé d'adapter, tu aurais pu joindre ton code: il aurait été plus intéressant sans doute qu'on t'aide à repérer ton erreur (d'autant que je ne vois pas trop où tu pourrais en avoir commis une?)
Au passage, j'ai simplifié le calcul du lundi (à tester):
VB:
Private Sub Workbook_Open()
With Sheets("Jours")
    leLundi = CDbl(Date - (Weekday(Date, vbMonday) - 1)) 'détermine le lundi de la semaine en cours
    lig = Application.Match(leLundi, .[H:H], 0) 'trouve la position du lundi de la semaine en cours en colonne H
    col = Application.Match(leLundi, .[11:11], 0) 'trouve la position du lundi de la semaine en cours en ligne 11
    If IsError(col) Or IsError(lig) Then MsgBox "Date non-trouvée": Exit Sub
    ActiveWindow.ScrollColumn = col
    ActiveWindow.ScrollRow = lig
    .Cells(lig, col).Activate
End With
End Sub
 

abtony

XLDnaute Impliqué
Re : Sélection en VBA de la cellule du numéro de semaine courante

Bonjour le forum, Modeste,

Comme pour le 1er c'est parfait du premier coup, bravo et merci pour ton aide.

J'ai pas pu répondre avant je vient de rentré.

Je vais examiner ton code pour comprendre son déroulement.

Merci encore

et Bonne fin d'année

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 825
Membres
104 677
dernier inscrit
soufiane12