Selection ligne date du jour

Résolu/Fermé
dl7 - 15 sept. 2015 à 15:46
 dl7 - 18 sept. 2015 à 11:26
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
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
16 sept. 2015 à 08:28
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
Kuartz Messages postés 850 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 16/09/2015 à 12:08
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
Merci beaucoup ca marche super !!
0