bonjour tu devrais mettre des ( ) pour bien regrouper tes condtions méfie toi de l'interpétation de la valeur d'une cellule vide
-- Pierre CFI Microsoft MVP Access
Pour mieux utiliser microsoft.public.fr.access... http://users.skynet.be/mpfa/charte.htm
"Crel" a écrit dans le message de news:
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And Range("U55").Value <> "" Or Range("U55").Value <> 0 and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
Pierre CFI
.../... If Range("C14").Value = "Aucune anomalie constatée !" And (Range("U55").Value <> "" Or Range("U55").Value <> 0) and Range("W5").Value = "" Then je pense que c'est plutot çà que tu veux
-- Pierre CFI Microsoft MVP Access
Pour mieux utiliser microsoft.public.fr.access... http://users.skynet.be/mpfa/charte.htm
"Crel" a écrit dans le message de news:
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And Range("U55").Value <> "" Or Range("U55").Value <> 0 and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
.../...
If Range("C14").Value = "Aucune anomalie constatée !" And
(Range("U55").Value <> "" Or Range("U55").Value <> 0) and
Range("W5").Value = "" Then
je pense que c'est plutot çà que tu veux
--
Pierre CFI
Microsoft MVP Access
Pour mieux utiliser microsoft.public.fr.access...
http://users.skynet.be/mpfa/charte.htm
"Crel" <nospam-mouedra@club-internet.fr> a écrit dans le message de news:
OmRO2uFdDHA.3948@TK2MSFTNGP11.phx.gbl...
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub
Else: transfert_données
End If
End Sub
.../... If Range("C14").Value = "Aucune anomalie constatée !" And (Range("U55").Value <> "" Or Range("U55").Value <> 0) and Range("W5").Value = "" Then je pense que c'est plutot çà que tu veux
-- Pierre CFI Microsoft MVP Access
Pour mieux utiliser microsoft.public.fr.access... http://users.skynet.be/mpfa/charte.htm
"Crel" a écrit dans le message de news:
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And Range("U55").Value <> "" Or Range("U55").Value <> 0 and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
Michel Gaboly
Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _ Range("U55").Value <> "" Or Range("U55").Value <> 0 And _ Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace : pas d'espace entre "constatéeé et le point d'interrogation, ou espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions sont longues : par exemple cela évite que certaines lignes présentent un retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _ Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And Range("U55").Value <> "" Or Range("U55").Value <> 0 and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And _
Range("U55").Value <> "" Or Range("U55").Value <> 0 And _
Range("W5").Value = "" Then
MsgBox "toto !"
End If
End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace :
pas d'espace entre "constatéeé et le point d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions
sont longues : par exemple cela évite que certaines lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub
Else: transfert_données
End If
End Sub
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _ Range("U55").Value <> "" Or Range("U55").Value <> 0 And _ Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace : pas d'espace entre "constatéeé et le point d'interrogation, ou espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions sont longues : par exemple cela évite que certaines lignes présentent un retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _ Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !" And Range("U55").Value <> "" Or Range("U55").Value <> 0 and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Patrick
Merci beaucoup Michel en effet, en tenant compte de vos observations à Pierre & toi, cela fonctionne à merveille. Merci beaucoup encore une fois, c'est très sympa. La République à travers le Trésor Public vous en remercie grandement. Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine----- Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _
Range("U55").Value <> "" Or Range("U55").Value <> 0 And _
Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace :
pas d'espace entre "constatéeé et le point d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions
sont longues : par exemple cela évite que certaines lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
.
Merci beaucoup Michel en effet, en tenant compte de vos
observations à Pierre & toi, cela fonctionne à merveille.
Merci beaucoup encore une fois, c'est très sympa.
La République à travers le Trésor Public vous en remercie
grandement.
Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine-----
Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And _
Range("U55").Value <> "" Or Range("U55").Value <> 0
And _
Range("W5").Value = "" Then
MsgBox "toto !"
End If
End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par
copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème
d'espace :
pas d'espace entre "constatéeé et le point
d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le
résultat.
PS - Value est la propriété par défaut de l'objet Range.
Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand
les instructions
sont longues : par exemple cela évite que certaines
lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent
améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And
(Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie
constatée !"
And Range("U55").Value <> "" Or Range("U55").Value
<> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub
Else: transfert_données
End If
End Sub
Merci beaucoup Michel en effet, en tenant compte de vos observations à Pierre & toi, cela fonctionne à merveille. Merci beaucoup encore une fois, c'est très sympa. La République à travers le Trésor Public vous en remercie grandement. Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine----- Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _
Range("U55").Value <> "" Or Range("U55").Value <> 0 And _
Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace :
pas d'espace entre "constatéeé et le point d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions
sont longues : par exemple cela évite que certaines lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
.
Michel Gaboly
Re,
De rien ;-))
Tu devrais modifier les paramètres de tin lecteur de news pour qu'il accepte + de caractères par ligne.
Tu gagnerais ainsi en lisibilité, en particulier pour les lignes de code VBA.
Merci beaucoup Michel en effet, en tenant compte de vos observations à Pierre & toi, cela fonctionne à merveille. Merci beaucoup encore une fois, c'est très sympa. La République à travers le Trésor Public vous en remercie grandement. Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine----- Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _
Range("U55").Value <> "" Or Range("U55").Value <> 0 And _
Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace :
pas d'espace entre "constatéeé et le point d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions
sont longues : par exemple cela évite que certaines lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub
Merci beaucoup Patrick.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
.
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Re,
De rien ;-))
Tu devrais modifier les paramètres de tin lecteur de news pour qu'il accepte + de caractères par ligne.
Tu gagnerais ainsi en lisibilité, en particulier pour les lignes de code VBA.
Merci beaucoup Michel en effet, en tenant compte de vos
observations à Pierre & toi, cela fonctionne à merveille.
Merci beaucoup encore une fois, c'est très sympa.
La République à travers le Trésor Public vous en remercie
grandement.
Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine-----
Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And _
Range("U55").Value <> "" Or Range("U55").Value <> 0
And _
Range("W5").Value = "" Then
MsgBox "toto !"
End If
End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par
copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème
d'espace :
pas d'espace entre "constatéeé et le point
d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le
résultat.
PS - Value est la propriété par défaut de l'objet Range.
Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand
les instructions
sont longues : par exemple cela évite que certaines
lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent
améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And
(Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie
constatée !"
And Range("U55").Value <> "" Or Range("U55").Value
<> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub
Else: transfert_données
End If
End Sub
Tu devrais modifier les paramètres de tin lecteur de news pour qu'il accepte + de caractères par ligne.
Tu gagnerais ainsi en lisibilité, en particulier pour les lignes de code VBA.
Merci beaucoup Michel en effet, en tenant compte de vos observations à Pierre & toi, cela fonctionne à merveille. Merci beaucoup encore une fois, c'est très sympa. La République à travers le Trésor Public vous en remercie grandement. Patrick.
Not(IsEmpty(Range("U55")
-----Message d'origine----- Bonjour
J'ai fait un test en éliminant le Else de ta procédure :
Sub gestion_erreur18() If Range("C14").Value = "Aucune anomalie constatée !" And _
Range("U55").Value <> "" Or Range("U55").Value <> 0 And _
Range("W5").Value = "" Then MsgBox "toto !" End If End Sub
J'ai entré "Aucune anomalie constatée ! en C14 par copier Coller
à partir du code et 5 en U55.
Le message "Toto" s'affiche bien.
Es-tu sur que ce n'est pas betement un problème d'espace :
pas d'espace entre "constatéeé et le point d'interrogation, ou
espace insécable ?
Fais une procédure qui teste uniquement C14 pour voir le résultat.
PS - Value est la propriété par défaut de l'objet Range. Tu peux donc
écrire
If Range("C14") = "Aucune anomalie constatée !"
Cela donne un code + compact et + facile à lire, quand les instructions
sont longues : par exemple cela évite que certaines lignes présentent un
retour chariot quand tu imprimes le code.
PS2 - Je te conseille également de remplacer
Range("U55").Value <> ""
par
Not(IsEmpty(Range("U55")
PS3 - Comme le conseille Pierre, des parenthèses peuvent améliorer la lisibilité :
If Range("C14") = "Aucune anomalie constatée !" And (Range("U55") <> "" _
Or Range("U55") <> 0) And Range("W5") = "" Then
Bonjour à toutes et tous
j'essaye d'écrire cela en VBA, mais sans succés
Sub gestion_erreur18()
If Range("C14").Value = "Aucune anomalie constatée !"
And Range("U55").Value <> "" Or Range("U55").Value <> 0
and Range("W5").Value = "" Then
MsgBox "toto !": Exit Sub Else: transfert_données End If End Sub