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 :

Fonction IF plusieurs cellules [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    TSE
    Inscrit en
    Octobre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : TSE
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 32
    Par défaut Fonction IF plusieurs cellules
    Bonjour a tous,

    une petite question, est il possible de réduire cette formule:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Range("C2")) And Not IsEmpty(Range("D2")) And Not IsEmpty(Range("E2")) And Not IsEmpty(Range("F2")) And Not IsEmpty(Range("G2")) And Not IsEmpty(Range("H2")) Then
    Sachant que la fonction ne doit s'éxécuter seulement SI L'ENSEMBLE des cellules contiennent quelque chose.

    Car en écrivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not IsEmpty(Range("C2:H2")) Then
    La fonction s'éxécute si une de cellule est non vide.

    Cordialement

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Utilise la fonction COUNTA qui est l'équivalent de la formule Excel NBVAL/COUNTA pour la version anglaise.
    Exemple La fonction renvoie le nombre de cellules remplies en H1:J6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Debug.Print Application.WorksheetFunction.CountA(Range("H1:J6"))
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre averti
    Homme Profil pro
    TSE
    Inscrit en
    Octobre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : TSE
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 32
    Par défaut
    je n'arrive pas a intégrer la fonction, peux tu m'aider?

    je pensais faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Nb = Debug.Print Application.WorksheetFunction.CountA(Range("C2:H2"))
    If Nb = 6 then ...
    mais ça ne marche pas...

    idem pour:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Debug.Print Application.WorksheetFunction.CountA(Range("C2:H2")) = 6 then
    Ca serais Debug.Print qui gene...

  4. #4
    Membre averti
    Homme Profil pro
    TSE
    Inscrit en
    Octobre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : TSE
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 32
    Par défaut
    solution trouvée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Application.WorksheetFunction.CountA(Range("C2:H2")) = 6 Then
    Merci

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ca serais Debug.Print qui gene...
    Debug.Print est une instruction que l'on utilise au cours de la phase de débogage et qui permet d'afficher ("Imprimer") ce qui suit l'instruction dans la fenêtre d'exécution (que l'on affiche par le raccourci (Ctrl+G)).
    C'est nettement plus intéressant que MsgBox qui attend toujours que l'utilisateur clique sur OK
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre averti
    Homme Profil pro
    TSE
    Inscrit en
    Octobre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : TSE
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 32
    Par défaut
    Je ne connaissais pas cette fonction, et j'utilisais la fonction MsgBox. J’essaierais de l'utiliser la prochaine fois que j'ai ai besoin

    Merci

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

Discussions similaires

  1. fonction SI Entre plusieurs cellules
    Par superthx dans le forum Excel
    Réponses: 5
    Dernier message: 02/07/2010, 17h54
  2. Fonction si sur plusieurs cellules d'une même ligne
    Par sangoben dans le forum Excel
    Réponses: 2
    Dernier message: 01/07/2010, 08h33
  3. [XL-2003] Chercher et remplacer des cellules en fonction de plusieurs mots
    Par FCL31 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2010, 11h59
  4. [XL-2003] Nommer feuille en fonction de plusieurs cellules
    Par Raphael13 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2009, 20h38
  5. Fonction Excel Ecrivant Dans Plusieurs Cellules
    Par Denis14T dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/04/2007, 20h57

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