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 :

[VBA-E] condition dans les cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut [VBA-E] condition dans les cellules
    bonjour à tous,
    j'ai dans ma feuille excel 2 colonnes :Une première liste des caractères.
    Une deuxième colonnes permet de savoir de cocher ou non un caractère (on peut seulement remplir la case par la lettre "a" comme activée et si elle est vide, c'est désactivé).
    Jusque la pas de pb, j'ai fait une validation de case.

    Mais mon problème consiste à ajouter en haut de ma feuille une cellule "tout cocher" qui, qd on écrit "a", ajoute un "a" automatiquement dans tout le reste de la colonne.

    Peut-on gérer ceci sur VBA?
    jespère avoir été clair dans mes explications.

    merci de votre aide

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    à mettre dans le code de la feuille concernée..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
      'On surveille cellule C1..
     
      If Not (Intersect(Target, [C1]) Is Nothing) Then
        If Target.Address = [C1].Address And [C1] = "a" Then
                Range("C2:C20").Value = "a"
        End If
     
      End If
     
    End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    ok merci, mais je comprend pas à quoi correspond :
    Intersect(Target, [C1]) Is Nothing

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Alors, il faudra regarder dans l'aide en ligne:
    • L'événement Worksheet_Change (pour savoir à quoi correspond Target)
    • La fonction Intersect
    • L'opérateur Is
    • Le mot clé Nothing

  5. #5
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Juste un petit indice en français ça se lit tout seul :
    "Si l'intersection entre la plage "Target" et la plage "C1" est nulle alors :"

    P.S: Vas voir aussi l'aide pour evaluate puisque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [C1]=evaluate(range("c1"))
    (Dites moi si je dis une connerie lol)

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je dirais même:
    "Si l'intersection entre la plage "Cible" et la plage "C1" n'existe pas (est rien) alors :"

  7. #7
    Membre habitué Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Points : 198
    Points
    198
    Par défaut
    Merci pour la traduction et la rectification sur "n'existe pas"="nulle"

    Ceci dit c'est vrai que c'est pas pareil, j'ai fait un léger abus de langage

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    ok merci je viens de comprendre le script. ça marche nickel, merci pour le coup de pouce!

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

Discussions similaires

  1. Afficher les éléments d'une condition dans une cellule
    Par thanmirt dans le forum Débuter
    Réponses: 2
    Dernier message: 16/04/2012, 20h48
  2. Réponses: 1
    Dernier message: 29/01/2010, 17h38
  3. [VBA-E]function dans les cellules
    Par bibidi dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 21/05/2006, 14h55
  4. [JTable] centrer les donnees dans les cellules
    Par cmoa59 dans le forum Composants
    Réponses: 5
    Dernier message: 20/05/2005, 12h35
  5. Alignement dans les cellules d'un tableau
    Par philippef dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/02/2005, 13h15

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