Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

condition

14 réponses
Avatar
Pascal
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal

10 réponses

1 2
Avatar
Pascal
il faut lire
len(.range("W3") donne 9 pour "24/06/1992" et len de X donne 0 au lieu de
> si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
> le test se fait différemment sur une date?
sorry


"Pascal" ,com> a écrit dans le message de groupe de
discussion : u0zyIiG#
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal





Avatar
Jacquouille
Bonjour Pascal

Plaise à Pascal que je lui livre mes Pensées.

if (.Range("W3")>0 .Que donnera cela si W3 est "occupée" par un caractère
vide (car32, sauf erreur)?
Et si W3=0,2 ?

Perso, j'ai adopté l'othographe de AV, soit If [W3]>0 --> moins de
risque d'oubli de points, parenthèses ou autre truc.

Pourquoi ne pas faire --> si nbcar(W3)<>0 ---> indiquera si W3 est vide ou
non. Idem pour X
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



AMHA, que la cel contienne une date ou non ne changera rien, puisque Excel
considère une date comme un nombre (nb de jours écoulés depuis le 1/1/1900).
Bien faire attention que valeur = 0 ne veut pas dire cel vide.

Bonne chance

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.

"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal





Avatar
Jacky
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] & Chr(10)
& "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] & Chr(10)
& "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal





Avatar
Pascal
hello jacquouille,
merci pour ton intervention
nbcar traduit en vba est bien LEN
j'utilise len aussi et cela ne fonctionne pas du tout
voici une partie du code
********************************************************
If Len((.Range("W" & PositionLigne)) > 0 And Len(.Range("X" &
PositionLigne))) = 0 Then
MontantEntr = .Range("v" & PositionLigne)
Me.ChkEntrainement.Caption = "Entrainement(s) " &
Format(MontantEntr, "##,##0.00¤")
End If
*********************************************************
si je test avec un msgbox (len sur w ou sur X )dans le cas présent j'ai bien
W = 9 et X=0
mais dans la condition elle ne passe pas, je ne me trompe pourtant pas
cordialement
pascal

"Jacquouille" a écrit dans le message de
groupe de discussion : uuppACH#
Bonjour Pascal

Plaise à Pascal que je lui livre mes Pensées.

if (.Range("W3")>0 .Que donnera cela si W3 est "occupée" par un
caractère vide (car32, sauf erreur)?
Et si W3=0,2 ?

Perso, j'ai adopté l'othographe de AV, soit If [W3]>0 --> moins de
risque d'oubli de points, parenthèses ou autre truc.

Pourquoi ne pas faire --> si nbcar(W3)<>0 ---> indiquera si W3 est vide
ou non. Idem pour X
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



AMHA, que la cel contienne une date ou non ne changera rien, puisque Excel
considère une date comme un nombre (nb de jours écoulés depuis le
1/1/1900).
Bien faire attention que valeur = 0 ne veut pas dire cel vide.

Bonne chance

--
Bien amicalmement,
"Le vin est au repas ce que le parfum est à la femme."

Jacquouille.



Avatar
Pascal
hello jacky,
cette condition comme disait aussi jacquouille fonctionne
If [w3] <> "" And [X3] = "" Then

je ne connaissais pas du tout et ne comprend pas pourquoi cela fonctionne
ainsi!
de cela découle une autre question
comment mettre [W & mavariable]
merci à vous deux pour cette technique
cordialement
Pascal

"Jacky" a écrit dans le message de groupe de discussion :
#qrXlEH#
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal









Avatar
Jacky
Re...
merci à vous deux pour cette technique


Helas! , ne fonctionne pas avec une variable..;...o(
'-----------
MaVariable = 3
If Range("W" & MaVariable) <> "" And Range("X" & MaVariable) = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] & Chr(10)
& "X3=" & [X3]
End If

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
e79DITH%
hello jacky,
cette condition comme disait aussi jacquouille fonctionne
If [w3] <> "" And [X3] = "" Then

je ne connaissais pas du tout et ne comprend pas pourquoi cela fonctionne
ainsi!
de cela découle une autre question
comment mettre [W & mavariable]
merci à vous deux pour cette technique
cordialement
Pascal

"Jacky" a écrit dans le message de groupe de discussion
: #qrXlEH#
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal












Avatar
Pascal
hello jacky,
ce que tu me proposes c'est la première chose que j'ai faite!

par contre en lisant ton poste, je remarque une erreur de parenthèse
If Len((.Range("W" & PositionLigne)) > 0 And Len(.Range("X" &
PositionLigne))) = 0 Then

il faut lire
If Len((.Range("W" & PositionLigne)) > 0 And Len(.Range("X" &
PositionLigne)) = 0) Then

sorry à vous tous, mais au moins j'ai résolu mon problème et de 2 j'ai
appris [W3] MERCI

cordialement
Pascal



"Jacky" a écrit dans le message de groupe de discussion :
e#VmBYH#
Re...
merci à vous deux pour cette technique


Helas! , ne fonctionne pas avec une variable..;...o(
'-----------
MaVariable = 3
If Range("W" & MaVariable) <> "" And Range("X" & MaVariable) = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
e79DITH%
hello jacky,
cette condition comme disait aussi jacquouille fonctionne
If [w3] <> "" And [X3] = "" Then

je ne connaissais pas du tout et ne comprend pas pourquoi cela fonctionne
ainsi!
de cela découle une autre question
comment mettre [W & mavariable]
merci à vous deux pour cette technique
cordialement
Pascal

"Jacky" a écrit dans le message de groupe de
discussion : #qrXlEH#
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10) & "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal
















Avatar
michdenis
Il y a ceci :


Tu peux utiliser une fonction personnalilsée comme ceci :

'--------------------------------------
Sub tets()

MsgBox EstVide(Range("A1"))

End Sub
'--------------------------------------
Function EstVide(Rg As Range) As Boolean
Dim Erreur As String
EstVide = True
On Error GoTo Erreur
If IsError(Rg * 1) Then
EstVide = False
End If
Exit Function
Erreur:
Err.Clear
EstVide = False
End Function
'--------------------------------------





"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal
Avatar
michdenis
As-tu testé ce que retourne [X3] = "" lorsque X3 contient
seulement par exemple le caractère "guilemet simple"
qui indique en outre que le contenu de la cellule est au
format texte.

Est-ce que tu considères la cellule vide ? ton test répond
que la cellule est vide... mais pas "vierge"
C'est aussi vrai pour l'usage de Len([X3]) qui retourne 0
alors qu'il y a toujours un petit caractère.





"Jacky" a écrit dans le message de news:
%23qrXlEH%
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] & Chr(10)
& "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] & Chr(10)
& "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal





Avatar
Pascal
Bonjour, MichDenis,
Je viens de faire le test avec le caractère guillemet simple ....
merci de cette énorme précision
et pour la fonction également
cordialement

pascal


"michdenis" a écrit dans le message de groupe de
discussion : O4o1suH#


As-tu testé ce que retourne [X3] = "" lorsque X3 contient
seulement par exemple le caractère "guilemet simple"
qui indique en outre que le contenu de la cellule est au
format texte.

Est-ce que tu considères la cellule vide ? ton test répond
que la cellule est vide... mais pas "vierge"
C'est aussi vrai pour l'usage de Len([X3]) qui retourne 0
alors qu'il y a toujours un petit caractère.





"Jacky" a écrit dans le message de news:
%23qrXlEH%
Bonjour,
je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide



Testes ceci:
'-------------
If [w3] <> "" And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10)
& "X3=" & [X3]
End If
'----------ou cela-----
If IsDate([w3]) And [X3] = "" Then
MsgBox "les 2 conditions sont ok"
Else
MsgBox "les 2 conditions ne sont pas ok" & Chr(10) & "w3=" & [w3] &
Chr(10)
& "X3=" & [X3]
End If
End Sub
'----------

--
Salutations
JJ


"Pascal" ,com> a écrit dans le message de news:
u0zyIiG%
bonjour,
je remarque que mon calcul ne se fait pas comme il devrait
if (.Range("W3")>0 And .Range("X3") = 0 Then.................
ou bien ceci
if (.Range("W3") <>"" And .Range("X3") = "" Then.................
la condition n'est JAMAIS remplie???

je veux tout simplement tester si W est une cellule non vide et X une
cellule Vide
Si W contient une date et que X n'en contient pas
elles sont au format date toutes les deux cela aurait-il une influence?

si je fais len(.range("W3")) j'ai bien 0 et len de X aussi
le test se fait différemment sur une date?

si vous pouvez m'éclairer........
Pascal









1 2