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 :

Vérifier valeur dans range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 7
    Par défaut Vérifier valeur dans range
    Bonjour

    Dans le range (B1:I1), chaque cellule contient un chiffre ou est vide.

    Le code doit inscrire 1 dans la cellule A1 si ce chiffre n'est présent dans aucune cellule du range.
    Le code ne fait rien s'il trouve le 1 dans le range.

    J'ai essayé avec 2 méthodes ("for each cell" et "find" mais je n'y arrive pas. Je suis sous Excel 2016.

    J'ai joint ma feuille excel.

    Merci de m'aider.
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Chaturanger Voir le message
    Bonjour,

    Pourquoi ne pas utiliser directement une formule ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(B1:I1;"=1");"";1)
    Sinon, dans le module de l'onglet Feuil1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
     
           If Target.Count > 1 Then Exit Sub
     
           If Not Intersect(Target, Range("B1:I1")) Is Nothing Then
     
              If WorksheetFunction.CountIf(Range("B1:I1"), "=1") > 0 Then
                 Range("A1") = ""
              Else
                 Range("A1") = 1
              End If
     
           End If
     
    End Sub

  3. #3
    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
    Bonjour Eric,

    La demande précisant "Le code ne fait rien s'il trouve le 1 dans le range.", je me permets une petite rectification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Count > 1 Then Exit Sub
        If Intersect(Target, Range("B1:I1")) Is Nothing Then Exit Sub
        If WorksheetFunction.CountIf(Range("B1:I1"), "=1") = 0 Then Range("A1").Value = 1
    End Sub

Discussions similaires

  1. [XL-2016] Vérifier valeurs dans chaque feuille et boucle Do .. Loop Until
    Par lisaw9682 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 21/02/2020, 11h57
  2. script linux qui permet de vérifier une valeur dans un fichier
    Par adiloos98 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 14/05/2008, 18h02
  3. Vérifier l'existence d'une valeur dans un ComboBox
    Par logiciel_const dans le forum Composants VCL
    Réponses: 6
    Dernier message: 08/03/2008, 09h07
  4. Réponses: 2
    Dernier message: 26/02/2008, 20h16
  5. [VB]vérifier des valeurs dans un fichiers et trier
    Par Mut dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/02/2006, 17h35

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