IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle For Next


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut Boucle For Next
    Bonjour,

    La macro suivante fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim cell As Range
     
        For Each cell In Range("J122:J127")
             If cell.Value = "FAUX" Then
             cell.ClearContents
             End If
        Next cell
     
    End Sub
    La suivante ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim cell As Range
     
        For Each cell In Range("J1226:J1274")
             If cell.Value = "FAUX" Then
             cell.ClearContents
             End If
        Next cell
     
    End Sub
    Qqn peut-il me dire pourquoi la deuxième ne fonctionne pas?

    Merci de votre réponse. John81

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour

    je ne sais pas , as tu mis un point d'arret sur ta ligne If et passé ta souris sur cell.value pour connaitre la valeur de cell ?

    ca viendrait de la selon moi, VRAI ou FAUX dans excel est traduit par false ou true

    Perso, je verrai : if cell.value = False then

    Regarde le Format de tes cellules aussi : Format standard ou Texte

  3. #3
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonsoir,

    Quand tu entres "Faux" dans une cellule, c’est automatiquement converti en FAUX. Si ensuite tu fermes le document et le réouvres avec une verion en anglais c’est FALSE qui s’affichera dans la cellule (FALSO avec une verion en italien, ...).

    Tout cela démontre que la cellule ne contient pas la chaîne de caractères "Faux", mais une valeur logique.

    Sauf si tu utilises une version qui n’est pas en Français, ou si la cellule est formatée en texte. Dans ces 2 cas, effectivement "Faux" n’est pas reconnu et donc pas converti en valeur logique.

    Par conséquent, je suis d’accord avec wilfried_42, hormis dans des cas atypiques comme évoqués ci-dessus, le bon test est

    L’anomalie correspond donc à la macro qui marche en testant "Faux" !

    Par ailleurs, il est suboptimal de boucler dans toutes les cellules : un Rechercher/Remplacer serait bien + efficace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          Range("J1226:J1274").Replace What:="Faux", Replacement:="", LookAt:=xlWhole
    NB - Ici on indique la chaîne quel’on entrerait dans le dialogue si on faisait la manip manuellement d’où le retour à la chaîne de caractères "Faux" !

    Cordialement,

    Par ailleurs

  4. #4
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 124
    Par défaut
    Merci bcp pour vos réponses à tous les deux. Bonne soirée John81

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. les boucles for..next
    Par dispa dans le forum Windows Forms
    Réponses: 3
    Dernier message: 27/06/2007, 14h23
  2. boucle for next ? peut être mais comment
    Par caro2552 dans le forum VBA Access
    Réponses: 11
    Dernier message: 07/02/2007, 20h26
  3. [VB.net] Boucle for next avec un tableau
    Par grand_prophete dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/05/2006, 11h08
  4. [VB6] Problème contrôle Timer et boucle For-Next ...
    Par Stéphane BEHMENBURG dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/12/2005, 17h36
  5. Réponses: 3
    Dernier message: 03/11/2005, 19h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo