Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion ktran
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

ktran

Guest
Bonjour a tous,

je suis un totalement debutant en VBA et j'apprends au fur a mesure sur le tas.
J'ai utilise la fonction recherche du forum mais en vain.

en B3, j'ai utilise la fonction =today() pour avoir la date qui s'affiche chaque jour.

de D6 a D500, j'ai une multitude de date

Je souhaite coder de sorte que si une date (de D6 a D500) corresponds a
=today(), bien sur la date change chaque jour (=today), un message d'alerte "Expiry Date" en gras rouge s'affiche dans la cellule contenant cette date.

J'ai ecris cela mais cela ne marche pas :

'
Sub Expiry_Date()

Dim i As Date

For i = D6 To D500
If Cells(i) = "B3" Then
MsgBox ("Expiry_Date")

End Sub


merci d'avance
 
Re : MsgBox

Bonjour Ktran et bien venue sur le forum 😉

Tu n'as pas besoin de coder ça en VBA !

Une simple MFC (Mise en Forme Conditionnelle) suffit.

Voir fichier joint.

A+


Bonjour,

merci pour la bienvenue 🙂

la MFC, je savais le faire. En fait je souhaitais voir apparaitre le message "Expiry Date" dans la cellule ou se trouve la date, d'ou le codage.

merci tout de meme pour la rapide intervention

Clt
 
Re : MsgBox

Bonjour Ktran, Salut Bruno

Si tu veux modifier la cellule il faut écrire ceci
Code:
Sub Expiry_Date()


For i = 6 To 500
If Cells(i,4) < = range("B3") Then
Cells(i,4).value="Expiry_Date"
end if
next i

End Sub
Mais cela écrase la date...

Bonne journée,

Ninbihan

Edit: Dull m'a signalé le manque d'End if, j'étais pas bien réveillé ce matin...
 
Dernière édition:
Re : MsgBox

Salut ktran, Bruno🙂, le Forum

Peut-être comme cela

Code:
Sub Expiry_Date()
Dim i As Long
For i = 6 To 500
If CDate(Range("B3")) = Range("D" & i).Value Then MsgBox "Expiry_Date"
Next i
End Sub
Bonne Journée

EDITION: Salut ninbihan🙂
 
Re : MsgBox

vraiment merci a tous pour votre aide.

j'ai copie le code de Dull dans le module de Visual Basic mais comment faire pour que la macro s'active et verifie si une date corresponds et affiche le msgbox, quan j'ouvre chaque matin mon fichier ?
 
Re : MsgBox

Bonsoir,
Dans le module ThisWorkbook de ton classeur, tu fais simplement appel à ta macro
Code:
Private Sub Workbook_Open()
Expiry_Date
End Sub
ou tu y colles les lignes de ta macro
Code:
Private Sub Workbook_Open()
Dim i As Long
For i = 6 To 500
If CDate(Range("B3")) = Range("D" & i).Value Then MsgBox "Expiry_Date"
Next i
End Sub
Cependant, dans les 2 cas, il faudra spécifier la feuille impactée
a+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
925
Réponses
3
Affichages
1 K
E
Réponses
8
Affichages
2 K
ebenezerkonan
E
Réponses
1
Affichages
2 K
D
  • Résolu(e)
Réponses
6
Affichages
1 K
S
Réponses
0
Affichages
1 K
samia89
S
C
Réponses
2
Affichages
2 K
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…