VB vérification de celulle vide(KO)
Résolu/Fermé
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
-
6 sept. 2012 à 09:28
vbnetstudent Messages postés 10 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 6 septembre 2012 - 6 sept. 2012 à 11:21
vbnetstudent Messages postés 10 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 6 septembre 2012 - 6 sept. 2012 à 11:21
A voir également:
- VB vérification de celulle vide(KO)
- Vérification lien - Guide
- Vb cable - Télécharger - Audio & Musique
- Coeur vide ✓ - Forum Facebook
- Vb - Télécharger - Langages
- Supprimer page vide word - Guide
8 réponses
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
152
6 sept. 2012 à 09:39
6 sept. 2012 à 09:39
Bonjour,
Essaye isnull() à la place de isempty()
Cordialement,
Essaye isnull() à la place de isempty()
Cordialement,
bonjour
voici cette ligne de ton code
For D = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = "" Then
essaie avec
For D = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If Range("B" & D).Value = "" Then
Cordialement
voici cette ligne de ton code
For D = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = "" Then
essaie avec
For D = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1
If Range("B" & D).Value = "" Then
Cordialement
Utilisateur anonyme
6 sept. 2012 à 09:45
6 sept. 2012 à 09:45
Bonjour
Qu'essayes-tu de tester là ?
Tel que tu as écrit ton test, tu vérifies sui une cellule est empty, tu compares le résultat de ce test (donc true ou false, -1 ou 0) au contenu de la cellule, donc tu obtiens à nouveau un booléen. Finalement, tu compares ce booléen à une chaîne vide
Je ne comprends vraiment pas
Qu'essayes-tu de tester là ?
If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = ""
Tel que tu as écrit ton test, tu vérifies sui une cellule est empty, tu compares le résultat de ce test (donc true ou false, -1 ou 0) au contenu de la cellule, donc tu obtiens à nouveau un booléen. Finalement, tu compares ce booléen à une chaîne vide
Je ne comprends vraiment pas
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 09:46
6 sept. 2012 à 09:46
Bonjour,
Merci d'avoir répondu si rapidement mais isnull() et isempty() sont deux comportements différent en programmation.
Quand une cellule est vide, elle n'est pas nul.
J'aimerai savoir pourquoi la fonction isempty() marche pas de la même manière à chaque fois..
En faite on dirait que c'est le range.value qui bug aussi...il me dit que la cellule est vide aussi de temps en temps...C'est vraiment incompréhensible...*
Cordialement.
Merci d'avoir répondu si rapidement mais isnull() et isempty() sont deux comportements différent en programmation.
Quand une cellule est vide, elle n'est pas nul.
J'aimerai savoir pourquoi la fonction isempty() marche pas de la même manière à chaque fois..
En faite on dirait que c'est le range.value qui bug aussi...il me dit que la cellule est vide aussi de temps en temps...C'est vraiment incompréhensible...*
Cordialement.
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 09:56
6 sept. 2012 à 09:56
la valeur est sous la forme xxx.xxx.xxx.xxx.
xxx étant des lettres.
xxx étant des lettres.
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 10:03
6 sept. 2012 à 10:03
Comme j'ai dis précédemment, il me dit que ma cellule est vide.... même avec le trim...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 09:50
6 sept. 2012 à 09:50
oups ça répond un peu trop vite...
G_33 si tu remarque ton teste je le regarde aussi puisque j'ai mis un OU(<>)
le père
/////
Qu'essayes-tu de tester là ?
If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = ""
Tel que tu as écrit ton test, tu vérifies sui une cellule est empty, tu compares le résultat de ce test (donc true ou false, -1 ou 0) au contenu de la cellule, donc tu obtiens à nouveau un booléen. Finalement, tu compares ce booléen à une chaîne vide
Je ne comprends vraiment pas
////
Range("B" & D).Value me sort une valeur et cette valeur je regarde si elle est vide avec isempty.Non?
G_33 si tu remarque ton teste je le regarde aussi puisque j'ai mis un OU(<>)
le père
/////
Qu'essayes-tu de tester là ?
If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = ""
Tel que tu as écrit ton test, tu vérifies sui une cellule est empty, tu compares le résultat de ce test (donc true ou false, -1 ou 0) au contenu de la cellule, donc tu obtiens à nouveau un booléen. Finalement, tu compares ce booléen à une chaîne vide
Je ne comprends vraiment pas
////
Range("B" & D).Value me sort une valeur et cette valeur je regarde si elle est vide avec isempty.Non?
Oui. Mais ensuite, tu compares le résultat de ce test ( vrai ou faux) avec Range("B" & D).Value : tu compares un booléen et une valeur.Ce n'est sûrement pas ce que tu voulais faire
Tu obtiens à nouveau un résultat vrai ou faux
Ensuite , tu compares ce vrai ou faux avec "". Ce n'est sans doute pas non plus ce que tu veux.
Je suppose comme G_33 que le <> du milieu voulait être un OR
Tu obtiens à nouveau un résultat vrai ou faux
Ensuite , tu compares ce vrai ou faux avec "". Ce n'est sans doute pas non plus ce que tu veux.
Je suppose comme G_33 que le <> du milieu voulait être un OR
Ta remarque
G_33 si tu remarque ton teste je le regarde aussi puisque j'ai mis un OU(<>)
en VBA (OU) c'est OR
(<>) ça veut dire different de.
Donc dans ton code tu teste si la cellule b est vide et different de vide
G_33 si tu remarque ton teste je le regarde aussi puisque j'ai mis un OU(<>)
en VBA (OU) c'est OR
(<>) ça veut dire different de.
Donc dans ton code tu teste si la cellule b est vide et different de vide
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 11:06
6 sept. 2012 à 11:06
oups... de toute façon j'avais tester sans le OR...mais bon avec cette betise ça pouvait pas marcher....
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 11:15
6 sept. 2012 à 11:15
Non mon code de base était : IsEmpty(Range("B" & D).Value)
Apres j'ai testé avec Range("B" & D).Value == ""
J'ai testé avec le trim.
Quand mon code ne fonctionne pas c'est soit le isempty qui foire alors que le .value n'est pas vide ou c'est le .value qui est vide alors qu'il ne l'est pas.
Apres j'ai testé avec Range("B" & D).Value == ""
J'ai testé avec le trim.
Quand mon code ne fonctionne pas c'est soit le isempty qui foire alors que le .value n'est pas vide ou c'est le .value qui est vide alors qu'il ne l'est pas.
ccm81
Messages postés
10851
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
16 avril 2024
2 404
Modifié par ccm81 le 6/09/2012 à 10:14
Modifié par ccm81 le 6/09/2012 à 10:14
bonjour à tous
peut être ici où les Range() ne sont pas liés à une feuille
à tester
bonne suite
peut être ici où les Range() ne sont pas liés à une feuille
If IsEmpty(Range("B" & D).Value) <> souligne>Range</souligne>("B" & D).Value = "" Then
à tester
If IsEmpty(.Range("B" & D).Value) <> .Range("B" & D).Value = "" Then
bonne suite
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 11:08
6 sept. 2012 à 11:08
souligné?
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 11:16
6 sept. 2012 à 11:16
les ranges sont liés à ma feuille puisque j'ai mis un with au dessus qui spécifie l'endroit de mes traitements.
ccm81
Messages postés
10851
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
16 avril 2024
2 404
Modifié par ccm81 le 6/09/2012 à 11:17
Modifié par ccm81 le 6/09/2012 à 11:17
mais non,
je pense qu'il manque le point ". " devant range (reference à ThisWorkbook.Sheets("Feuil1") )
je pense qu'il manque le point ". " devant range (reference à ThisWorkbook.Sheets("Feuil1") )
vbnetstudent
Messages postés
10
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
6 septembre 2012
6 sept. 2012 à 11:21
6 sept. 2012 à 11:21
ça fonctionne merci.