Détecter des cellules vides dans une plage sélectée ...

Garth69

XLDnaute Occasionnel
Bonsoir !
Encore un blème dans mon projet :( ...

Je cherche à détecter qu'aucune cellule ne soit vide dans une plage sélectée ...

Le code ci dessous :
Code:
Selection.Cells(Selection.Count) = ""
me permet de détecter d'éventuelles cellules vides sous ma plage sélectée, mais pas une colonne vide sur le côté de ma plage :( ...

J'imagine qu'il doit falloir aussi du "Rows" qque part :confused: , mais je n'arrive pas à trouver la bonne syntaxe ...
 

JNP

XLDnaute Barbatruc
Re : Détecter des cellules vides dans une plage sélectée ...

Bonsoir Garth69 :),
Ton code est plutôt hasardeux, car il faut être sûr que ta sélection soit continue sur une seule colonne :rolleyes:...
A tester
Code:
Selection.Cells(0, Selection.Count) = ""
Bonne soirée :cool:
 

roro69

XLDnaute Impliqué
Re : Détecter des cellules vides dans une plage sélectée ...

Bonsoir
Voici un code pour compter les cellules vides d'une selection
Sub Blanc()
Vide = 0 'Variable
Range("A25:B29").Select 'Plage sélectionnée pour la vérification
For Each c In Selection 'Boucle dans la sélection
If c.Value = "" Then 'Si la cellule est vide alors
Vide = Vide + 1 'J'ajout 1 au nombre précédent
End If
Next c
MsgBox "Il y a " & Vide & " cellules vides dans la plage" 'Message
End Sub
Après dans la boucle tu mets le code que tu veut..........
A++
 

Garth69

XLDnaute Occasionnel
Re : Détecter des cellules vides dans une plage sélectée ...

Je vous remercie tous deux de vos éclairages, et conseils ...

Comme je suis néophyte, il est fort probable, que je n'aille jamais ni au plus simple, ni au plus sûr :p ... Merci de me le faire remarquer :D !


Je n'ai pas pour l'instant nécessité à compter les cellules vides de ma sélection, juste m'assurer qu'elle n'en contient pas :D ...
( Et signifier aux utilisateurs de ma feuille qu'ils doivent modifier leur sélection, ou qu'ils n'ont pas rempli certaines cellule de leur plage sélectée ... ).

Encore merci, pour la rapidité de vos réponse !
 

Garth69

XLDnaute Occasionnel
Re : Détecter des cellules vides dans une plage sélectée ...

Arf ... Non ... Ton code ne fonctionne pas :( ...

Il me renvoie que ma plage sélectée contient des cellules vides, même quand toutes ses cellules sont renseignées ...
 
Dernière édition:

laurent950

XLDnaute Accro
Re : Détecter des cellules vides dans une plage sélectée ...

Bonsoir Garth69, Roro69,

j'ai regarder le code :

If c.Value = "" Then 'Si la cellule est vide alors ------- >>> il y a un espace entre " "

If c.Value = " " Then
ou
If c.Value = empty Then

Cela devrait être bon

Laurent
 

JNP

XLDnaute Barbatruc
Re : Détecter des cellules vides dans une plage sélectée ...

Re :),
Comme tu le dis, ton premier code vérifie si la première cellule en dessous de ta sélection est vide ;)...
Tu parles maintenant des cellules vides "dans" la sélection... Ce que ne faisait pas ton premier code :rolleyes:...
Le code de Roro69 compte les cellules vides, donc si Vide > 0, hop, tu as le résultat voulu :p...
Un petit fichier exemple avec ce que tu as et ce que tu souhaites nous permettrais certainement de mieux comprendre la question :rolleyes:...
Bonne soirée :cool:
 

Garth69

XLDnaute Occasionnel
Re : Détecter des cellules vides dans une plage sélectée ...

Bon finalement c'est ta "soluce" qui l'emporte roro69

En la regardant de plus près ... Ca m'a donné l'idée de :
Code:
        For Each cell In Selection
            If cell = "" Then
                MsgBox "Cellules vides détectées !, vbCritical
            Exit Sub
        End If
        Next

Qui marche finalement très bien ! :D
 

Staple1600

XLDnaute Barbatruc
Re : Détecter des cellules vides dans une plage sélectée ...

Bonsoir à tous


Plutôt que détecter les cellules vides autant sélectionner celles que ne le sont pas ;)

Code:
Sub Macro1()
Dim PasVide As Range
With Selection
Set PasVide = Union(.SpecialCells(xlCellTypeConstants, 23), .SpecialCells(xlCellTypeFormulas, 23))
End With
PasVide.Select
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Détecter des cellules vides dans une plage sélectée ...

Re


Une dernière pour la route
VB:
Sub VersionCourte() 'juste pour me faire plaisir avant d'aller au dodo ;-)
Dim a As Range, b As Range
With Selection: Set a = .SpecialCells(2, 23): Set b = .SpecialCells(-4123, 23): End With
Union(a, b).Select
End Sub

EDITION : Bonsoir JNP, t'avais pas vu :eek:
Ta sauce à ma sauce ;)
Code:
MsgBox Application.CountBlank(Selection)
 
Dernière édition:

Garth69

XLDnaute Occasionnel
Re : Détecter des cellules vides dans une plage sélectée ...

Bon ... Koi k'il en soit ... Merci @ tous !

Je Bookmark la page et vos soluces respectives dans l'idée, que ca pourra me resservir ... Vous m'avez permis d'arriver à mes fins c'est cool !
J'essaierai plus tard vos combinaisons pour bien en comprendre le fonctionnement !


Je vous laisse à vos "échanges VBAesque" dont je ne comprends pas l'entière teneur, moi qui ai déjà du mal à mémoriser la syntaxe d'un simple "MsgBox "" :p ...
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix