test de cellules vides

Bernard sc

XLDnaute Nouveau
Bonjour à tous et merci par avance de votre aide

Je voudrais qu'une macro vérifie avant la fermeture et enregistrement de mon fichier que les cellules des colonnes de "A" à "R" ne contiennent pas de cellules vides. (par exemple les cellules en bleu)

ce serait un cadeau

en attendant bonnes fêtes à tous
 

Pièces jointes

  • test cellules vides.xls
    37 KB · Affichages: 68
  • test cellules vides.xls
    37 KB · Affichages: 67
  • test cellules vides.xls
    37 KB · Affichages: 70

soune26

XLDnaute Junior
Re : test de cellules vides

salut Bernard , le fil

J'ai pas testé

NOMBREdeLIGNEdansleTABLEAU=Range("A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Row
For COLONNE = 1 to 18 'colonne A à R
For LIGNE = 2 to NOMBREdeLIGNEdansleTABLEAU
If cells (LIGNE,COLONNE)="" then
msgbx "La cellule " & COLONNE & LIGNE & " est vide"
end if
Next LIGNE
Next COLONNE

bizzzzzzz
 

JNP

XLDnaute Barbatruc
Re : test de cellules vides

Bonsoir Bernard_SC et bienvenue, salut Soune26 :),
Tu vas te faire détester par tes camarades de jeux :p...
A mettre dans ThisWorkbook
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim DerLigne As Integer
DerLigne = Feuil1.UsedRange.Rows.Count
If Evaluate("countblank(A1:R" & DerLigne & ")") > 0 Then
Cancel = True
MsgBox "Il reste des cellules vides !"
End If
End Sub
Bon courage :cool:
PS : Soune, avec 10 messages successifs (10 dans l'exemple, ça peux être 100 :rolleyes:...), ce ne sera plus détester, mais haïr :p... !!
 

soune26

XLDnaute Junior
Re : test de cellules vides

Bonsoir Bernard_SC et bienvenue, salut Soune26 :),
Tu vas te faire détester par tes camarades de jeux :p...
A mettre dans ThisWorkbook
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim DerLigne As Integer
DerLigne = Feuil1.UsedRange.Rows.Count
If Evaluate("countblank(A1:R" & DerLigne & ")") > 0 Then
Cancel = True
MsgBox "Il reste des cellules vides !"
End If
End Sub
Bon courage :cool:
PS : Soune, avec 10 messages successifs (10 dans l'exemple, ça peux être 100 :rolleyes:...), ce ne sera plus détester, mais haïr :p... !!

oups merci JNP, mais le fais de savoir quelle cellule est vide peut être utile!!!

alors je modifi


NOMBREdeLIGNEdansleTABLEAU=Range("A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Row
For COLONNE = 1 to 18 'colonne A à R
For LIGNE = 2 to NOMBREdeLIGNEdansleTABLEAU
If cells (LIGNE,COLONNE)="" then
msgbx "La cellule " & COLONNE & LIGNE & " est vide"
exit sub
end if
Next LIGNE
Next COLONNE


ou alors pour avoir un message une fois la sub terminé


NOMBREdeLIGNEdansleTABLEAU=Range("A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Row
For COLONNE = 1 to 18 'colonne A à R
For LIGNE = 2 to NOMBREdeLIGNEdansleTABLEAU
If cells (LIGNE,COLONNE)="" then
VIDE= VIDE & " " & COLONNE & LIGNE
end if
Next LIGNE
Next COLONNE
msgbx "Les cellules " & VIDE & " sont vides!!"

qu'en pense tu JNP?
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : test de cellules vides

Re :),
oups merci JNP, mais le fais de savoir quelle cellule est vide peut être utile!!!

alors je modifi

qu'en pense tu JNP?
Nettement mieux :p !
Après, la boucle peux être longue sur de gros fichiers, alors que l'utilisation de NB.VIDE est très rapide... Et n'empêche pas un .Find pour trouver la première cellule vide ;)...
Ça n'empêche que interdire la sauvegarde ou la fermeture, je ne suis pas pour :rolleyes:...
Une demande de confirmation, oui ;).
Bonne soirée :cool:
 

Staple1600

XLDnaute Barbatruc
Re : test de cellules vides

Bonsoir à tous,


Apparemment cela ne gène personne que la PJ contienne des données confidentielles...
(une adresse entre autres, un numéro de dossier)

Un ficher exemple avec des données fictives aurait été plus approprié.

Faut croire que je suis le seul comme me disait récemment en MP un barbatruc, à aimer "pisser dans un violon".

Malgré tout, pour traiter la question, avec une légère variation, voici une autre possibilité:
Code:
Sub a()
MsgBox Application.CountBlank([A1].CurrentRegion)
End Sub
JNP: je vois que tu affectionnes Evaluate et COUNTBLANK
(deux dans le même semaine ;) )

PS: Bernard, si tu pouvais changer ta PJ, ce serait cool ;)
 
Dernière édition:

Discussions similaires