Sélectionner une plage de donnée

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
Configuration: Windows XP / Firefox 3.6

6 réponses

  1. Contributeur
    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
    1. 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
      1. Modérateur
        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
        1. Contributeur
          tu est tout à fait à côté de la plaque avec tes Select Case
          0
          1. Merci de ton conseil lermite. (je débute en VBA). si tu pouvais m'aider ce sera mieux!!

            Merci
            0
            1. Contributeur
              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