Cellule vide sous Excel en vb

Signaler
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012
-
 Utilisateur anonyme -
Bonjour,

Je suis en train de faire des conditions, mais j'ai un problème pour indiquer une cellule vide, pouvez vous m'aider,.
Merci
'ElseIf (osheet.Cells(2 + ar, 9).value "45") And (osheet.Cells(2 + ar, 10).value "Libre") And (osheet.Cells(2 + ar, 11).value = "Non") And ((osheet.Cells(2 + ar, 12) = " ") Or (osheet.Cells(2 + ar, 13) =[color=blue] " "/color)) Then
' osheet.Cells(2 + ar, 19) = "Les règles d'ingénierie ont été respecté"

22 réponses


Bonjour,

.value = ""
ça ne te dit rien?

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

J'ai essayé avec .value="" et sans le .value mais il me reconnait pas les ""
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour
1 - Comment cela, il ne reconnait pas le "" ?
2 - Quel est le type de la cellule à vérifier ?



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

Bonjour,

1 - Comment cela, il ne reconnait pas le "" ?


Dès qu'il arrive au "" il stop l’exécution

2 - Quel est le type de la cellule à vérifier ?


J'ai pas trop bien la question, mais je veux juste qu'il me vérifie si la cellulle D2 par exemple est bien vide.

Merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Qu'entends-tu par "il stoppe l'exécution" ? Avec ou sans erreur ?
Si erreur : laquelle ?
Si pas erreur : quelle exécution stoppe-t-il ?*
Il faut deviner ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Je pense avoir "deviné"... ce ne serait pas:
ElseIf (osheet.Cells(2 + ar, 9).Value = "45") Or _
   (osheet.Cells(2 + ar, 10).Value = "Libre") Or _
   (osheet.Cells(2 + ar, 11).Value = "Non") Or _
   (osheet.Cells(2 + ar, 12) = " ") Or _
   (osheet.Cells(2 + ar, 12) = "") Or _
   (osheet.Cells(2 + ar, 13).Interior.Color = vbBlue) Then
       

Que tu cherches à faire?


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Re:
J'ai mis n'importe quoi... (il est 7h du mat chez moi... )

 ElseIf (osheet.Cells(2 + ar, 9).Value = "45") And _
   (osheet.Cells(2 + ar, 10).Value = "Libre") And _
   (osheet.Cells(2 + ar, 11).Value = "Non") And _
   ((osheet.Cells(2 + ar, 12) = " ") Or _
   (osheet.Cells(2 + ar, 12) = "") Or _
   (osheet.Cells(2 + ar, 13).Interior.Color = vbBlue)) Then
   osheet.Cells(2 + ar, 19) = "Les règles d'ingénierie ont été respecté"
End If



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

Je postes l'erreur, lors de l’exécution :

La résolution de surcharge a échoué, car aucun '=' Public ne peut être appelé avec ces arguments :
'Public Shared Operator =(a As String, b As String) As Boolean':
L'argument qui correspond au paramètre 'a' ne peut pas être converti de '__ComObject' en 'String'.

Bon... déjà dans ton code, tu dois avoir une erreur de compilation:
'Attendu: )'
Vrai ou faux?

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Une chose est maintenant très claire :
L'erreur dénoncée n'(a absolument rien à voir avec le code montré dans ton premier message !
Ni même avec quelque test que ce fût sur une cellule vide !



____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

L'erreur dénoncée n'(a absolument rien à voir avec le code montré dans ton premier message !

Exactement, c'est pour ça que j'ai voulu procéder par élimination booléenne:

Question 1:
Avec le code que tu nous fournis en occurence:
ElseIf (osheet.Cells(2 + ar, 9).value = "45") And _
(osheet.Cells(2 + ar, 10).value = "Libre") And _
(osheet.Cells(2 + ar, 11).value = "Non") And _
((osheet.Cells(2 + ar, 12) " ") Or (osheet.Cells(2 + ar, 13) " ")) Then
osheet.Cells(2 + ar, 19) = "Les règles d'ingénierie ont été respecté"
As-tu une "erreur de compilation - Attendu : )"?
Vrai ou Faux? ==>
Si Faux où est le code rectifié?



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Pardon,
ElseIf (osheet.Cells(2 + ar, 9).value = "45") And _ 
(osheet.Cells(2 + ar, 10).value = "Libre") And _ 
(osheet.Cells(2 + ar, 11).value = "Non") And _ 
((osheet.Cells(2 + ar, 12) " ") Or (osheet.Cells(2 + ar, 13) " ")) Then 
osheet.Cells(2 + ar, 19) = "Les règles d'ingénierie ont été respecté" 



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

Non je n'ai pas d'erreur de compilation,

Voilà le code

ElseIf (osheet.Cells(2 + ar, 9).value = "45") And _
(osheet.Cells(2 + ar, 10).value = "Libre") And _
(osheet.Cells(2 + ar, 11).value = "Non") And _
((osheet.Cells(2 + ar, 12).value "") Or (osheet.Cells(2 + ar, 13).value "")) Then
osheet.Cells(2 + ar, 19) = "Les règles d'ingénierie ont été respecté"

Ok,
Ceci est le code de ton premier message:
'ElseIf (osheet.Cells(2 + ar, 9).value "45") And (osheet.Cells(2 + ar, 10).value "Libre") And (osheet.Cells(2 + ar, 11).value = "Non") And ((osheet.Cells(2 + ar, 12) = " ") Or (osheet.Cells(2 + ar, 13) = " ")) Then 
' osheet.Cells(2 + ar, 19) =  "Les règles d'ingénierie ont été respecté"

Tu l'as donc modifié !...

Maintenant dans ton code modifié, tu veux faire:
Si la ligne 9 "45" et la ligne 10 "Libre" et la ligne 11 = "Non" et la ligne 12 (ou la ligne 13) = "" ==>> afficher le texte
Vrai ou Faux?


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

Exactement

Et qu'est ce qui "cloche" alors? (je ne vois rien)


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

Est-ce que le _ est nécessaire car dans mon code je ne les pas mis.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
1) a-t-il corrigé ce qui était dénoncé :
Je postes l'erreur, lors de l’exécution :

La résolution de surcharge a échoué, car aucun '=' Public ne peut être appelé avec ces arguments :
'Public Shared Operator =(a As String, b As String) As Boolean':
L'argument qui correspond au paramètre 'a' ne peut pas être converti de '__ComObject' en 'String'.

2) la ligne de code montrée sur le ElseIf ne risque pas de générer une erreur.
Tout ce qui pourrait se produire, c'est que
- soit il n'entre jamais dans le ElseIf (le If étant avéré)
- soit il veut autre chose (qu'on ne sait pas) que ce qu'il exprime dans le elseif

On tourne en rond.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Le _ est la uniquement pour éviter d'avoir une phrase de 3 Kms de long...



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Messages postés
33
Date d'inscription
mardi 5 avril 2011
Statut
Membre
Dernière intervention
24 février 2012

La résolution de surcharge a échoué, car aucun '=' Public ne peut être appelé avec ces arguments :
'Public Shared Operator =(a As String, b As String) As Boolean':
L'argument qui correspond au paramètre 'a' ne peut pas être converti de '__ComObject' en 'String'.


J'aimerais bien corriger mais je n'ai pas compris