Tester si une plage ne contient aucune valeur

Le
defluc
Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune
valeur sans utiliser de boucle sur chaque cellule pour ne pas pénaliser
le temps d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage
contient au moins une valeur", même si aucune cellule ne contient de valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que cela
ne change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19604711
Bonjour.
Set plage = Range(Cells(1, 1), Cells(10, 3))
If Application.CountA(plage) = 0 Then
MsgBox ("La plage est vide")
Else: MsgBox ("La plage contient au moins une valeur")
End If


Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune valeur
sans utiliser de boucle sur chaque cellule pour ne pas pénaliser le temps
d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage contient
au moins une valeur", même si aucune cellule ne contient de valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que cela ne
change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse


defluc
Le #19605021
Merci à toi Daniel

Je venais de trouver sur un autre site
Par contre, cette fonction n'est pas documentée dans l'aide

Daniel.C a écrit :
Bonjour.
Set plage = Range(Cells(1, 1), Cells(10, 3))
If Application.CountA(plage) = 0 Then
MsgBox ("La plage est vide")
Else: MsgBox ("La plage contient au moins une valeur")
End If


Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune
valeur sans utiliser de boucle sur chaque cellule pour ne pas
pénaliser le temps d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage
contient au moins une valeur", même si aucune cellule ne contient de
valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que cela
ne change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse






Daniel.C
Le #19605591
C'est la fonction Excel NBVAL.
Daniel

Merci à toi Daniel

Je venais de trouver sur un autre site
Par contre, cette fonction n'est pas documentée dans l'aide

Daniel.C a écrit :
Bonjour.
Set plage = Range(Cells(1, 1), Cells(10, 3))
If Application.CountA(plage) = 0 Then
MsgBox ("La plage est vide")
Else: MsgBox ("La plage contient au moins une valeur")
End If


Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune
valeur sans utiliser de boucle sur chaque cellule pour ne pas pénaliser le
temps d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage
contient au moins une valeur", même si aucune cellule ne contient de
valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que cela ne
change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse








defluc
Le #19613511
NBVAL n'est pas documenté dans Excel 2000.
J'ai trouvé ClearContents qui fait la même chose
Daniel.C a écrit :
C'est la fonction Excel NBVAL.
Daniel

Merci à toi Daniel

Je venais de trouver sur un autre site
Par contre, cette fonction n'est pas documentée dans l'aide

Daniel.C a écrit :
Bonjour.
Set plage = Range(Cells(1, 1), Cells(10, 3))
If Application.CountA(plage) = 0 Then
MsgBox ("La plage est vide")
Else: MsgBox ("La plage contient au moins une valeur")
End If


Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune
valeur sans utiliser de boucle sur chaque cellule pour ne pas
pénaliser le temps d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage
contient au moins une valeur", même si aucune cellule ne contient de
valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que
cela ne change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse












Caetera
Le #19613621
"defluc" %
NBVAL n'est pas documenté dans Excel 2000.
J'ai trouvé ClearContents qui fait la même chose



NBVAL est une fonction de feuille de calcul
ClearContents est une méthode en Vba

Strictement aucun rapport entre les deux...
Me semble que c'est la grande confusion...

Etc
Daniel.C
Le #19613611
Ca n'a pourtant rien à voir; NBVAL compte les cellules non vides.
ClearContents efface les valeurs...
Daniel

NBVAL n'est pas documenté dans Excel 2000.
J'ai trouvé ClearContents qui fait la même chose
Daniel.C a écrit :
C'est la fonction Excel NBVAL.
Daniel

Merci à toi Daniel

Je venais de trouver sur un autre site
Par contre, cette fonction n'est pas documentée dans l'aide

Daniel.C a écrit :
Bonjour.
Set plage = Range(Cells(1, 1), Cells(10, 3))
If Application.CountA(plage) = 0 Then
MsgBox ("La plage est vide")
Else: MsgBox ("La plage contient au moins une valeur")
End If


Bonjour à tous

Dans une macro, je voudrais vérifier si une plage ne contient aucune
valeur sans utiliser de boucle sur chaque cellule pour ne pas pénaliser
le temps d'exécution.
Je teste avec le code suivant :

Set Plage = Range(Cells(1, 1), Cells(10, 3))
If IsNull(Plage) Then MsgBox ("La plage est vide") _
Else MsgBox ("La plage contient au moins une valeur")

Malheureusement, le message qui m'est renvoyé est toujours "La plage
contient au moins une valeur", même si aucune cellule ne contient de
valeur.

J'ai également essayé «IsNull(Plage.Value)» et «IsEmpty» sans que cela
ne change quoi que ce soit.

Alors, faut-il vraiment passer par une boucle.

Merci d'avance pour toute réponse














Publicité
Poster une réponse
Anonyme