Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition sur une plage de cellule

    27 juillet 2018 à 9:11:15

    Bonjour à tous,

    Je recontre un petit problème dans mon codage VBA.
    Je souhaiterai tester si une plage de cellule est vide et exécuter des actions en fonction de cette condition.

    L'utilisateur a un tableau de 7 données à entrer et si une donnée (ou plus) est manquante, un message d'erreur doit s'afficher.
    Cela veut dire que l'utilisateur n'a pas d'autre choix que de saisir toutes les valeurs requises.

    Voici le code que j'ai essayé :

    If Not IsEmpty(Sheets("Form").Range("C5:C11")) Then

       'MES ACTIONS

    Else

        MsgBox ("Error")

    End If

    Sauf qu'avec ce code, le résultat n'est pas celui attendu et je ne vois où est mon erreur. Ici lors de l'exécution aucun message ne s'affiche. En revanche lorsque je remplace " C5:C11 " par " C5 ", le résultat est celui que j'attends ! Quelqu'un voit mon erreur ? 

    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2018 à 10:04:55

      Bonjour,

      A vrai dire ta condition va toujours renvoyer le mauvais résultat, puisque via ce que tu écris tu demandes une liste d'actions si toute la plage que tu selectionnes n' est pas vide.

      Or ce qui t'interesse c'est bien de faire des actions si une de cellules de cette plage est bien vide.

      C'est bien ca j'ai bien compris ce que tu veux faire ?

      Si c'est le cas il faut que tu fasses une boucle qui va lire toutes les cellules de ta plage et si une cellule est vide alors envoyer un message d'erreur (par un foreach ou un for ca ira très bien), si besoin d'un coup de main je peux t'aider, contactes moi par MP.

      Tu peux meme aller jusqu'a créer une fonction pour faire ce controle, comme ca tu pourras la réutiliser plus tard si tu le désires.

      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2018 à 11:17:39

        Salut,

        Tu peux peut-être utiliser Range.SpecialCells avec xlCellTypeBlanks (https://msdn.microsoft.com/fr-fr/vba/excel-vba/articles/range-specialcells-method-excel), si la Range retournée n'est pas vide alors tu as au moins une cellule vide.

        • Partager sur Facebook
        • Partager sur Twitter

        Condition sur une plage de cellule

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown