Positionnement sur le jour même du mois

0

Bonjour

Avec une macro + une MFC je cherche à me positionner sur le jour même du mois, mais dans l'actuelle avec mon code il se positionne à la fin du mois, pour la MFC c'est OK si quelqu'un pourrait faire la modification du code pour obtenir la sélection sur le jour même du mois. 

Voir lien

Cordialement

    tontonbox Posté le 24 novembre, 12:51
    par tontonbox
    Répondre
    0

    Bonjour tontonbox,

    ton fichier en retour :

    https://www.cjoint.com/c/LKyod0ejkz0

    * j'ai supprimé Feuil2 et Feuil3 inutiles ➯ il reste Feuil1.

    * à l'ouverture du fichier, ça va directement sur la date du jour.

    * sélectionne une autre cellule, par exemple A1.

    * fais Ctrl e ou clique sur ton bouton "Aujourd'hui"
    ➯ ça va sur la cellule de la date du jour.

    * ta sub du module de Feuil1 n'est pas une sub événementielle ;
    je l'ai donc supprimée, mise dans Module1, et adaptée.

    * voici le code de Module1 :

    Option Explicit

    Sub vers_date()
      Dim col%
      For col = Cells(3, Columns.Count).End(1).Column To 2 Step -1
        If Cells(3, col) = Date Then
          Application.Goto Cells(1, col), True
          ActiveCell.Offset(2).Select
          Exit Sub
        End If
      Next col
    End Sub

    * voici le code de ThisWorkbook :

    Private Sub workbook_open()
      vers_date
    End Sub

    si besoin, tu peux demander une adaptation.
    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 24 novembre, 15:18
    par rhodo
    0

    Bonjour, rhodo

    Super merci pour ce code...... testé et adopté, pour l'instant ce code me convient bien il est fonctionnel, à voir à l'usage, au cas où...... je reposterais un nouveau message

    *Juste une petite question! le code fonctionne bien par contre la date du jour se positionne toujours tout à gauche y a t-il une possibilité de centrer la feuille plus au milieu lors de la sélection de la date du jour

    Merci pour ton implication

    Cordialement

    tontonbox Posté le 24 novembre, 17:26
    par tontonbox
    1

    @tontonbox

    merci pour ton retour.  :)  tu as écrit ensuite :

    « centrer la feuille plus au milieu lors de la sélection de la date du jour »

    version correspondante : https://www.cjoint.com/c/LKyrbx0RLU0

    code de Module1 :

    Option Explicit

    Sub vers_date()
      Dim col%, c%
      For col = Cells(3, Columns.Count).End(1).Column To 2 Step -1
        If Cells(3, col) = Date Then
          c = col - 8: If c < 1 Then c = 1
          Application.Goto Cells(1, c), True
          Cells(3, col).Select
          Exit Sub
        End If
      Next col
    End Sub

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Attention

    * la largeur des colonnes est la largeur standard d'une colonne : 10,78

    * j'ai un écran large qui me permet de voir 16 colonnes d'un coup ;
    ➯ pour « centrer au milieu », ça fait 16 colonnes / 2 = 8 colonnes ;
    d'où : c = col - 8 ; selon la largeur de ton écran, tu devras adapter ;
    exemple : si tu vois 12 colonnes d'un coup ; mets c = col - 6.

    * de toutes façons, il faut laisser cette sécurité : If c < 1 Then c = 1
    car il n'existe pas de colonne dont le n° est <= 0 ! minimum : 1 ;
    sans ce test, ça pourrait planter sur cette instruction :
    Application.Goto Cells(1, c), True

    rhodo

    rhodo Posté le 24 novembre, 18:21
    par rhodo
    0

    Re, rhodo

    Parfait pour l'instant plus rien à redire merci c'est au top!! 

    Re-merci pour ton implication 

    Cordialement


    tontonbox Posté le 24 novembre, 18:35
    par tontonbox

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :