VB vérification de celulle vide(KO)
Résolu
vbnetstudent
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
vbnetstudent Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
vbnetstudent Messages postés 10 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je viens vers vous parce que je suis confronté à un problème/bug/truc/machin/chose que je ne comprend pas.
Voici mon code vb qui me sert à la cope de celulle sur une feuille:
La vérification de : IsEmpty(Range("B" & D).Value) marche quand bon lui semble ce qui dans l'informatique s'appelle un random ^^
Est ce quelqu'un aurait rencontrer le même problème sur ce type de vérification?
Si oui pouvez-vous m'expliquez la solution?
Merci d'avoir pris le temps de lire mon post.
Bonne journée.
Je viens vers vous parce que je suis confronté à un problème/bug/truc/machin/chose que je ne comprend pas.
Voici mon code vb qui me sert à la cope de celulle sur une feuille:
Sub CreerTableauFinal() ' ' CreerTableauFinal Macro ' Dim c As Integer Dim D As Integer c = 1 Cells.Select With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With With ThisWorkbook.Sheets("Feuil1") For D = .Range("A" & .Rows.Count).End(xlUp).Row To 2 Step -1 If IsEmpty(Range("B" & D).Value) <> Range("B" & D).Value = "" Then Worksheets("Feuil1").Range("C" & D).Copy Worksheets("Feuil2").Range("A" & c) c = c + 1 Else Worksheets("Feuil1").Range("C" & D).Copy Worksheets("Feuil2").Range("A" & c) c = c + 1 Worksheets("Feuil1").Range("B" & D).Copy Worksheets("Feuil2").Range("A" & c) c = c + 1 End If Next D End With End Sub
La vérification de : IsEmpty(Range("B" & D).Value) marche quand bon lui semble ce qui dans l'informatique s'appelle un random ^^
Est ce quelqu'un aurait rencontrer le même problème sur ce type de vérification?
Si oui pouvez-vous m'expliquez la solution?
Merci d'avoir pris le temps de lire mon post.
Bonne journée.
A voir également:
- VB vérification de celulle vide(KO)
- Supprimer page word vide - Guide
- 1go en ko - Forum Mobile
- 1mo en ko ✓ - Forum Matériel & Système
- Caractere vide - Guide
- Vb - Télécharger - Langages
8 réponses
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
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
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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