Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Test en debut de macro si =""

  • Initiateur de la discussion Initiateur de la discussion remes
  • 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 !

R

remes

Guest
Bonsoir, je voulais faire le test en debut de macro qui verifie que si dans les cellules allants de L10àL100 il n'y a aucune date (ou egal à "") alors un msg box "indiquer la date" puis sortir de la macro et si y a une date alrs la macro continue.

J'ai fait ca mais ca marche pas.

If Range("l10:l100").Value = "" Then
MsgBox "renseigner la date"
Exit Sub
End If.

merci d'avance.
 
Re : Test en debut de macro si =""

Bonjour


Essayes comme ceci

Code:
Sub test()
Dim Mes_Cellules As Range, Une_Cellule As Range, t$
Set Mes_Cellules = Range("L10:L100")
For Each Une_Cellule In Mes_Cellules
If IsEmpty(Une_Cellule) Or Not IsDate(Une_Cellule) Then
t = t & Une_Cellule.Address(0, 0) & vbLf
End If
Next
MsgBox "Renseigner une date dans les cellules suivante(s)." & vbLf & t
End Sub
 
Re : Test en debut de macro si =""

Merci à toi Staple1600 pour ta réponse, j'ai essayé mais que je mette une date ou non, le message apparait.

pierrejean je vais essayer avec la tienne je te dirais si c bon mais pourrais tu me donner la signification de : If Application.WorksheetFunction.Sum

Merci encore à vous deux
 
Re : Test en debut de macro si =""

Bonjour



Une version fonctionnelle (mais non orthodoxe dans son écriture, il y a moyen d'éviter la double boucle, mais ma glace et mon café m'attendent 😉 )

Code:
Sub test_2()
Dim Mes_Cellules As Range, Une_Cellule As Range, t$
Set Mes_Cellules = Range("A1:A5")
For Each Une_Cellule In Mes_Cellules
If IsEmpty(Une_Cellule) Or Not IsDate(Une_Cellule) Then
t = t & Une_Cellule.Address(0, 0) & vbLf
End If
Next
If Len(t) > 0 Then
MsgBox "Renseigner les cellules suivantes : " & vbLf & t
Else
'
End If
End Sub
 
Dernière édition:
Re : Test en debut de macro si =""

Re

Application.WorksheetFunction.Sum(Range("L10:L100"))

est l'equivalent de SOMME(L1:L100)

Dans ton cas qu'il y ait des vides ou des dates (pour excel une date est un nombre de jours) la somme est possible

@ Staple Rappelle moi la distinction entre marteau-pilion et ouvre-boîte Lol !!
 
Re : Test en debut de macro si =""

RE


Bien vu mon cher pierrejean 😉

Mais devant un café et une glace, et avec ce temps, VBA passe derrière.

Et tu as raison, c'est toi qui avait l'ouvre-boite dans la poche quand moi je sortais une artillerie trop lourde.

Alors en guise de réparation

Code:
Sub MACRO_HONORIS_PIERREJEANUS_EXCELLUS_VBASTUS_MASTERUS()
With ActiveSheet
MsgBox IIf(Application.WorksheetFunction.Sum(.Range("A1:A5")) = 0, "Renseigner", "Saisie OK")
End With
End Sub
 
Dernière édition:
- 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
4
Affichages
586
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…