Excel VBA atteindre une cellule qui contient un mois
FerméNICK337 Messages postés 9 Date d'inscription vendredi 3 juillet 2015 Statut Membre Dernière intervention 13 décembre 2023 - 7 nov. 2023 à 23:21
- Excel VBA atteindre une cellule qui contient un mois
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Verrouiller cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
2 réponses
Modifié le 27 oct. 2023 à 03:33
Bonjour Azerty,
Pourquoi ne pas utiliser quelque chose de natif sur Excel... le Filtre !?
Sinon, voici un code qui pourrait convenir, je pense.
Private Sub Worksheet_Change(ByVal Target As Range) Dim dLig As Long, Lig As Long If Target.Address = "$F$1" Then If Target.Value = "" Then Exit Sub dLig = Range("F" & Rows.Count).End(xlUp).Row For Lig = 5 To dLig If Range("F" & Lig) <> "" Then If Month(Range("F" & Lig)) = Month(Range("F1")) Then Range("F" & Lig).Select: Exit For End If End If Next Lig End If End Sub
A+
7 nov. 2023 à 23:21
Bonjour. Je peux vous aider à créer une macro VBA pour cela. Voici un exemple de code qui pourrait fonctionner pour votre situation :
Sub TrouverDate()
Dim ws As Worksheet
Dim rng As Range
Dim celluleDate As Range
Dim premiereLigne As Range
' Définir la feuille de calcul
Set ws = ThisWorkbook.Sheets("Nom_de_votre_feuille")
' Définir la plage de recherche
Set rng = ws.Range("F5:F5000")
' Définir la cellule contenant la date
Set celluleDate = ws.Range("F1")
' Chercher la première ligne du mois
For Each cell In rng
If Month(cell.Value) = Month(celluleDate.Value) And Year(cell.Value) = Year(celluleDate.Value) Then
Set premiereLigne = cell
Exit For
End If
Next cell
' Si une ligne correspondante est trouvée, sélectionnez-la
If Not premiereLigne Is Nothing Then
premiereLigne.Select
Else
MsgBox "Aucune ligne trouvée pour le mois de " & Format(celluleDate.Value, "mmmm yyyy")
End If
End Sub
N’oubliez pas de remplacer"Nom_de_votre_feuille"
par le nom de votre feuille de calcul. Cette macro parcourt chaque cellule dans la plage F5:F5000 et compare le mois et l’année de la cellule avec le mois et l’année de la date en F1. Lorsqu’elle trouve une correspondance, elle sélectionne cette cellule et arrête la recherche. Si aucune correspondance n’est trouvée, elle affiche un message indiquant qu’aucune ligne n’a été trouvée pour ce mois.
Veuillez noter que cette macro ne prend pas en compte les dates vides ou non valides dans la plage de recherche. Vous devrez peut-être ajouter une gestion d’erreur supplémentaire en fonction de vos données. Cordialement