Selection ligne date du jour

Résolu
dl7 -  
 dl7 -
Bonjour,
Je débute dans VBA et j apprécierai grandement un peu d'aide.
Dans un fichier excel avec en colonne A la date ( que je remplis chaque jour) je cherche a selectionner la ligne correspondant a la date du jour et pouvoir identifier les valeurs négatives dans chaque colonne (B,C etc..)

merci d'avance

2 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,
    Comprend pas: Si tu écris la date du jour dans la colonne A...

    a mon avis, il manque quelque chose dans ton énoncé

    au besoin:
    Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
    et coller le raccourci proposé (clic droit) dans le message de réponse
    Dans l'attente

    0
  2. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
     
    Bonjour,

    Ce code va te permettre déjà de ne pas rentrer la date chaque jour, elle se rentrera toute seule. Ensuite, le code identifie les valeurs négatives de chaque colonne et les colore en rouge.

    A copier directement dans Feuil1 (A condition que tu ailles sur ton fichier tous les jours)

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim D As Integer
    
    D = DateDiff("d", Cells(1, 1), Date) 'Si la première date que tu as mise dans ton tableau est dans A1, si par exemple elle est en A2, écrire Cells(2, 1)
    
    Cells(D + 1, 1) = Date
    
    End Sub


    Si tu ne vas pas sur ton fichier tous les jours, alors :

    Dim DL As Long
    
    DL = Cells(Application.Rows.Count, 1).End(xlUp).Row
    
    If DL = Date Then
    
    Exit Sub
    
    Else : Cells(DL + 1, 1) = Date
    
    End If
    
    End Sub
    


    Si tu veux colorer les cellules de la ligne qui sont négatives face à la date d'aujourd'hui ou une autre date, à copier dans un nouveau module pour faire un bouton d'exécution :

    Sub TEST()
    
    Dim DL As Long, Ma_Date As Date
    
    DL = Cells(Application.Rows.Count, 1).End(xlUp).Row
    
    If MsgBox("Voulez-vous trouver les valeurs négatives pour la date d'aujourd'hui?", vbYesNo) = vbYes Then
        For i = 1 To DL
            If Range("A" & i) = Date Then
                Rows(i).Select
                For Each C In Selection
                    If C < 0 Then
                        C.Font.Color = RGB(255, 0, 0)
                    End If
                Next C
            Cells(i, 1).Select
            End If
        Next i
    Else
    Ma_Date = InputBox("Entrez la date pour laquelle vous voulez trouver les valeurs négatives en format jj/mm/aaaa")
            For j = 1 To DL
                If Range("A" & j) = Ma_Date Then
                Rows(j).Select
                    For Each C In Selection
                        If C < 0 Then
                            C.Font.Color = RGB(255, 0, 0)
                        End If
                    Next C
                    Cells(j, 1).Select
                End If
            Next j
    End If
    End Sub


    Petit fichier exemple : https://www.cjoint.com/c/EIqjYmRVlhf

    Cordialement.
    0
    1. dl7
       
      Merci beaucoup ca marche super !!
      0