Test en debut de macro si =""

remes

XLDnaute Junior
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.
 

Staple1600

XLDnaute Barbatruc
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
 

remes

XLDnaute Junior
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
 

Staple1600

XLDnaute Barbatruc
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:

pierrejean

XLDnaute Barbatruc
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 !!
 

Staple1600

XLDnaute Barbatruc
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:

Discussions similaires

  • Question
Microsoft 365 TEXTBOX
Réponses
7
Affichages
331

Statistiques des forums

Discussions
312 203
Messages
2 086 195
Membres
103 153
dernier inscrit
SamirN