Bonjour, mon pseudo l'indique : je me forme seul au VBA.
Mon Pb :
Dans la colonne A, j'ai une liste de dates, format jj/mm/aaaa (dates à laquelle doivent être produits des articles)
En ligne 2, j'ai un calendrier sans les WE, sans les jours chômés (hé oui ! la crise !) (dates au format jjjj jj/mm)
Lors d'une recherche à partie de la colonne A, je voudrais avoir un message du genre "la date bidule n'existe pas dans le calendrier".
J'ai fait plein de recherches dans toutes sortes de forums, sans rien trouver ou qui soit de mes compétences.
Je sais que le travail sur les dates, dont la fonction "find", n'est pas facile du tout à maitriser.
Auriez vous une solution simple ?
Merci de votre aide.
A voir également:
Recherche d'une date dans un ligne en fonction d'une date dans une colonne
Bonjour,
si le calendrier énumère de vrais dates formatées, comme tu le laisses supposer,
il y a cette solution :
Dim Trouve As Range, dateCherche As Date
dateCherche = Range("???").Value
Set Trouve = Range("calendar").Find(dateCherche)
If Not Trouve Is Nothing Then
Trouve.Select
Else
MsgBox "la date " & dateCherche & " n'existe pas dans le calendrier"
End If
Merci beaucoup cnt.
J'avais commencé un truc bien plus complexe avec des boucles.
Du coup, pour analyser l'ensemble des lignes, j'ai adapté ta proposition comme cela, et ça marche !
Encore merci.
Dim Trouve As Range, dateCherche As Date, noligne As Integer
noligne = 5
While Cells(noligne, 1) <> ""
dateCherche = Cells(noligne, 1)
Set Trouve = Range("calendar").Find(dateCherche)
If Not Trouve Is Nothing Then
Trouve.Select
Else
MsgBox "La date " & dateCherche & " n'existe pas dans le calendrier"
End If
noligne = noligne + 1
Wend