Sélectionner une plage de donnée

cris16 Messages postés 11 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

Je souhaite vérifier si dans la plage de B3 à B14 une case est vide. le programme ci-dessous me signal une erreur. J'ai besoin de votre aide.

If (Range("B3:B14"))>0 Then
Select Case MsgBox("", vbExclamation, "Erreur")
End Select

Else

Merci

6 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Je me demande bien dans quel application tu est ?
si c'est bien du VBA...
    Dim C as range
    For Each C in Range("B3:B14")
        If C="" then MsgBox  "La cellule " & C.Address & "'est vide"
   Next C

A+
0
cris16 Messages postés 11 Statut Membre
 
merci lermite,

effectivement je n'ai pas précisé en quel language je voulais faire mon code. Donc tu as bien supposé car c'est en VBA!!
Sinon le code que tu m'as donné marche très bien sauf que ça controle les cases une à une. Ce n'ai pas possible de les controler en une seul fois??

voici le code que j'ai tapé: peut on l'améliorer??

If Range("B3") > 0 And _
Range("B4") > 0 And _
Range("B5") > 0 And _
Range("B6") > 0 And _
Range("B7") > 0 And _
Range("B8") > 0 And _
Range("B9") > 0 And _
Range("B10") > 0 And _
Range("B11") > 0 And _
Range("B12") > 0 And _
Range("B13") > 0 And _
Range("B14") > 0 Then

Select Case MsgBox("Fin de l'année.", vbExclamation, "Erreur")
End Select

Else

Select Case MsgBox("Etes-vous sûr de vouloir valider le mois?", vbQuestion + vbYesNo)

Case vbYes
Select Case MsgBox("Avez-vous enregistré sous le mois de " & Range("A" & i), vbQuestion + vbYesNo)
Case vbYes

Range("B" & i & ":F" & i).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Case vbNo
Sheets("feuil1").Select
Range("A1").Select
End Select
Case vbNo
Sheets("feuil1").Select
Range("A1").Select
End Select
End If

Merci!!!
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Salut,
La méthode de lermitte222 est certainement la plus simple et la plus rapide. Si elle ne te convient pas tu peux faire également ceci :

Dim Ligne As Integer
Dim result As String, valeur As String
Ligne = WorksheetFunction.CountBlank(Range("B3:B14"))
If Ligne > 0 Then
result = MsgBox("Etes vous sur de vouloir valider le mois?", vbYesNo)
If result = vbYes Then
valeur = Range("A" & i) 'à condition d'avoir définit "i" avant !!!!!!!!!
MsgBox ("Avez-vous enregistré sous le mois de " & valeur)

etc etc...
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
tu est tout à fait à côté de la plaque avec tes Select Case
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cris16 Messages postés 11 Statut Membre
 
Merci de ton conseil lermite. (je débute en VBA). si tu pouvais m'aider ce sera mieux!!

Merci
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Beh t'aider.... Je t'ai donné une solution et en plus tu en a eu une deuxième, que veux-tu de plus. ?
0