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 :

Tester les cellules d'un Range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Tester les cellules d'un Range
    Bonjour à tous, forum bonjour,

    Je cherche a tester chaque cellule d'un range sur plusieurs critères.

    1-La cellule contient une formule
    2-La valeur de la cellule n'est pas un nombre
    3-La cellule n'est pas vide
    4-La cellule ne contient pas d'erreur
    5-La cellule n'a pas de couleur de fond

    J'ai trouver le code ci dessous qui je pense correspondrai a mon besoin MAIS je ne suis sur de rien car la macro démarre puis plus rien je ne sais pas si elle
    a bien fonctionné et vérifier si tous les critères sont corrects ou pas, mais aucune info ne s'affiche.

    Donc je souhaiterai svp avoir d'afficher sous forme d'un petit compte rendu plus d'infos quand au déroulement de la macro.

    Résultat souhaiter : Un petit compte rendu :

    1-La cellule contient une formule = OK où Pas
    2-La valeur de la cellule n'est pas un nombre = OK où Pas
    3-La cellule n'est pas vide = OK où Pas
    4-La cellule ne contient pas d'erreur = OK où Pas
    5-La cellule n'a pas de couleur de fond = OK où Pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     --- Pour Infos --- La colonne (E) contient une formule et La colonne (F) contient également une formule MAIS ce n'ai pas la même que la colonne (E) 
     
    Public Sub Test_Colonne()
      Dim cell As Range
        For Each cell In Range("E3:F100").SpecialCells(xlCellTypeFormulas, 2)
             If Not cell = "" And cell.Interior.Pattern = xlNone Then cell.Interior.Color = RGB(192, 192, 192)
        Next cell
    End Sub
    Merci pour votre aide, bonne fin d'après midi a vous.

    Cdlt VieuxRay

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par eliot.raymond Voir le message
    J'ai trouver le code ci dessous qui je pense correspondrai a mon besoin MAIS je ne suis sur de rien car la macro démarre puis plus rien je ne sais pas si elle a bien fonctionné et vérifier si tous les critères sont corrects ou pas, mais aucune info ne s'affiche.
    Donc je souhaiterai svp avoir d'afficher sous forme d'un petit compte rendu plus d'infos quand au déroulement de la macro.
    Il suffit de faire des tests intermédiaires en renvoyant les résultats dans la fenêtre d'exécution avec un Debug.Print.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print cell.Value, (Cell.Value = ""), (cell.Interior.Color = RGB(192, 192, 192))
    Tu sauras quels tests fonctionnent et ne fonctionnent pas en fonction de tes données.

    Il est aussi possible de faire ça avec un MsgBox mais le défaut, c'est qu'il faut valider à chaque ligne.
    Avec Debug.Print, ça te sort une grande liste que tu peux consulter après l'exécution. Tu peux même faire un copier/coller du résultat.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut menhir,

    Merci pour ta réponse c'est sympa,

    j'ai suivi les conseils mais ça ne pas donner grand chose, j'ai eu liste de Vrai et Faux

    mais apparement la macro fonctionne mais comment faire pour en écrire un compte rendu ?

    ou alors peut être refaire la macro mais je ne saurai pas faire.

    Merci pour ton aide, je te souhaite la bonne soirée.

    Cdlt Ray

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par eliot.raymond Voir le message
    j'ai suivi les conseils mais ça ne pas donner grand chose, j'ai eu liste de Vrai et Faux
    Ce n'est pas ce que tu souhaitais ?
    Si tu veux que le texte obtenu soit plus parlant, rien ne t'empêche de mettre plus de texte dans ton Debug.Print.

    mais apparement la macro fonctionne mais comment faire pour en écrire un compte rendu ?
    Pour moi, des résultats dans la fenêtre d'exécution, c'est déjà un compte-rendu.
    Si tu veux avoir une réponse plus précise, il va falloir poser une question plus précise.

    ou alors peut être refaire la macro mais je ne saurai pas faire.
    Là, je sens venir gros comme une maison un prochain "fais-le à ma place" qui risque de ne pas me plaire...

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je partage la réaction de Menhir (que je salue) et t'invite à :
    - ouvrir l'aide interne VBA à la rubrique Résumé des mots clés de type de données
    - y cliquer sur chacun des termes que tu y trouveras à la ligne "Test des types de données"
    Saisis cette occasion pour t'intéresser dans la foulée aux termes des deux autres lignes. Cela élargira le champ de tes connaissances.
    Voilà.

  6. #6
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    salut

    Merci je vais me debrouiller

Discussions similaires

  1. Connaitre le range de la(les) cellule(s) copiée(s)
    Par bobLab dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/08/2019, 15h16
  2. [XL-2007] [VBA] remplir un range de cellule avec les valeurs d'autres ranges
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/08/2012, 15h12
  3. [XL-97] Tester les caractères barrés dans une cellule
    Par mkweb dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/11/2009, 08h06
  4. [JUnit] Pour tester les methodes d'acces à une sgdb
    Par yanis97 dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 15/04/2004, 15h55
  5. [CR9] Colorier les cellules d'un tableau croisé
    Par Koko22 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2003, 16h57

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