Cellules vides

Résolu
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et déjà merci pour votre aide.
je suis novice dans le domaine, et bien évidement, mon niveau est assez faible.
j'ai fais pas mal de decherche afin d'essayer de trouver une solution à mon problème, mais je bloque.

j'ai une vingtaine de cellules sur ma feuille de calcul dont j'aimerai vérifier si elles sont vides.
si quelqu'un peut m'aider, se serait gentil
merci

5 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Peux tu nous en dire plus sur ce que tu souhaites réellement?
Veux tu :
- vérifier si les 20 cellules sont TOUTES vides?
- vérifier une par une si les 20 cellules sont vides et te prévenir de leur "vidité" au fur et à mesure?
- etc...
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

VBA est-il nécessaire ???

Une formule (éventuellement matricielle) du type =SI(ESTVIDE(....);...;...) ne suffit-elle pas ???
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
je suis déjà dans un petit programme VBA, je ne vois pas comment, c'est faisable en utilisant =SI(estvide....
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
En fait, si au moins une de ces cellules est vide, une msgbox s'ouvre pour me prévenir que j'ai oublié de remplir la cellule (pour remplir les cellules, plusieurs choix possibles, liste déroulante)
il me faudrait avant d'appliquer la procédure principale, une fonction, procédure (excuse-moi pour les termes, je ne les connais pas encore très bien) qui vérifie si c'est vingt cellules ont bien été remplie.
merci
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
En exemple, une fonction et une procédure d'appel de cette fonction :
Sub AppelFonction()
Dim maplage As Range

Set maplage = Range("A1:A10,F1,G3")
If CellRemplies(maplage) <> "" Then MsgBox CellRemplies(maplage)
End Sub

Function CellRemplies(Plage As Range) As String
Dim cel As Range

For Each cel In Plage
    If cel = "" Then CellRemplies = CellRemplies & cel.Address & "," & Chr(10)
Next
If CellRemplies <> "" Then CellRemplies = "Les cellules suivantes sont vides : " & Chr(10) & CellRemplies
End Function


Cordialement,
Franck P
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
un grand merci. c'est exactement ce dont j'avais besoin
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
De rien
A+
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
je ne veux pas abuser, mais si je peux me permettre, j'ai une autre demande, une variante de la première.
qu'est-ce que je devrais faire si je voudrais supprimer les lignes dont les cellules sont vides?
Merci.
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
je pensais avoir trouvé mais j'ai crié victoire trop vite
0

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

Posez votre question
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

Il faudrait que tu précises à partir quelle action le message apparaît !

Une autre possibilité (sans boucle) :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
   'remplacer B12:C18,D10 par la plage à verifier
  On Error Resume Next
  Set r = Range("B12:C18,D10").SpecialCells(xlCellTypeBlanks)
  On Error GoTo 0
  If Not r Is Nothing Then
    If r.Cells.Count > 1 Then
      MsgBox "Remplir les cellules " & r.Address(False, False)
    Else
      MsgBox "Remplir la cellule " & r.Address(False, False)
    End If
  End If
End Sub
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Pour info, j'ai recopié la procédure mais ça ne fonctionne pas.
en fait, quand je veux executer le macro, il n'y en a pas.
Est-ce que cela vient du fait que c'est une private sub, je nen sais rien?
mais, j'ai une solution qui fonctionne donc un grand merci à tout les deux
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Il faut copier cette procédure dans le module de la feuille, elle est déclenchée automatiquement par chaque modification de la feuille, ce qui n'est pas satisfaisant pendant le renseignement de la feuille d'où ma question concernant l'évènement de fin qui doit déclencher l'affichage.
0
cla2000 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
effectivement, en la recopiant dans le module de la feuille, elle fonctionne (j'avais dis que j'étais novice. lol). de manière différente.
je pense qu'elle me servia pour une autre application.
merci pour vos solutions.
A bientôt.
0