• Initiateur de la discussion Initiateur de la discussion klm1234
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

klm1234

Guest
Bonjour tout le monde!

Problème d'ordre mystique! Je ne comprend pas du tout, j'ai fait des recherches et apparemment personne d'autre n'a eu ce genre de problème!

J'ai une macro avec une condition :
Code:
        'Check Spacing FBG 1 to 40
        For i = 0 To 39
    If Range(prAdd).Offset(0, 95 + i).Value = "" Or Range(prAdd).Offset(0, 54 + i).Value = "" Then
        If (Range(prAdd).Offset(0, 95 + i).Value = "" And Range(prAdd).Offset(0, 54 + i).Value = "") Then
            Range(prAdd).Offset(0, i + 1).Select
            MsgBox "An error occured while verifying center FBG spacing list.", vbExclamation, "Error - Unvalid form"
                ValidateForm = False
            ValidationProgress.Hide
            Exit Function
        End If
    End If
    ValidationProgress.ProgressBar1.Value = ValidationProgress.ProgressBar1.Value + 1
        Next

Si je met :
Code:
        'Check Spacing FBG 1 to 40
        For i = 0 To 39
    If Range(prAdd).Offset(0, 95 + i).Value = "" Or Range(prAdd).Offset(0, 54 + i).Value = "" Then
        If Not (Range(prAdd).Offset(0, 95 + i).Value = "" And Range(prAdd).Offset(0, 54 + i).Value = "") Then
            Range(prAdd).Offset(0, i + 1).Select
            MsgBox "An error occured while verifying center FBG spacing list.", vbExclamation, "Error - Unvalid form"
                ValidateForm = False
            ValidationProgress.Hide
            Exit Function
        End If
    End If
    ValidationProgress.ProgressBar1.Value = ValidationProgress.ProgressBar1.Value + 1
        Next

Sa ne marche plus!

L'erreur "380" me dit Invalid use of property... Pour un petit Not de rien du tout!

Des suggestions? N'est-ce pas sensé inversé la valeur? True=False et vice-versa? Vraiment... Je comprends pas!

Merci beaucoup!
 
Re : If Not ... Erreur??

Edit : Je viens de mettre le Not après le And et sa fonctionne...

Est-ce que je vais avoir le même comportement que ce que je veux? C'est à dire si les deux case sont vide = False, si une des deux case est remplie = True??
 
Re : If Not ... Erreur??

Bonjour Caillou,
Bonjour pierrejean,

Non les égalités ne sont pas en cause non plus puisque quand je ne met pas le "Not", tout fonctionne à merveille (enfin sa fait le contraire de ce que je désire, mais sa marche).

J'ai mit le "Not" après le "And", tout à l'air de fonctionner... Bizarre quand même.

Merci beaucoup.
 
Re : If Not ... Erreur??

Difficile puisque le fichier utilise beaucoup de fonction personnalisé et le fichier serait trop gros, même réduit à sa plus simple expression.

Je me vois mal diffuser le fichier original en totalité, c'est un projet incluant plusieurs personnes et je ne crois pas qu'ils aimeraient que leur code soit distribué.

Il est posible qu'une des egalités ne soit pas evaluée dans le cas ou l'on n'a pas le Not

Cela m'étonnerait étant donné que le "Not" évite justement de rentrer dans ce cas d'erreur (si la ligne 4 renvoie "True", la macro s'arrête et tombe en code d'erreur). En ne le mettant pas, la ligne 4 renvoie systématiquement "True" (du moins dans ce cas-ci puisque je fait les tests sur une ligne de la base de données -variable prAdd- qui oblige le programme à agir ainsi). Les deux égalités sont donc évaluées
 
Re : If Not ... Erreur??

Bonjour klm, Bonjour Caillou, Bonjour PierreJean,

trés bizarre en effet, je n'arrive pas à reproduire non plus

mais sinon

Code:
If Not (Range(prAdd).Offset(0, 95 + i).Value = "" And Range(prAdd).Offset(0, 54 + i).Value = "") Then

est équivalent à

Code:
If Range(prAdd).Offset(0, 95 + i).Value <> "" Or Range(prAdd).Offset(0, 54 + i).Value <> "" Then
 
Re : If Not ... Erreur??

Re tout le monde,
Bonjour tototiti2008,

Étrange n'est-ce pas!

Je vais opter pour la solution "Or", tant que sa fonctionne c'est ce qui compte 😉
Merci du truc et merci encore à tout le monde!


PS : J'ai un autre problème d'un tout autre ordre sur un autre topic, je vous invite à y jeter un coup d'œil car si ici je me sentais encore à l'aise en bidouillant, l'autre problème me dépasse complétement!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
Réponses
5
Affichages
573
Réponses
4
Affichages
730
Réponses
15
Affichages
779
Réponses
10
Affichages
661
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour