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 :

cellule cliquable et executable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut cellule cliquable et executable
    Bonjour voila j'ai réalisé un programme qui donne une action à certaine cellule par exemple je clique sur A15 et une formule ce met dans la cellule G34...
    Mais pour toutes les cellules A15, D15, G15, A29, D29 cela ne marche cependant pour le reste ça marche...Avez vous une explication , car ceci est urgent et très important...
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
     
    If Target.Row <> 51 Or (Target.Column < 1 Xor Target.Column > 7) Then
          If Target.Row <> 53 Or (Target.Column < 3 Xor Target.Column > 3) Then
              If Target.Row <> 29 Or (Target.Column <> 1 Or Target.Column <> 4) Then
                  If Target.Row <> 15 Or (Target.Column <> 1 Xor Target.Column <> 4 Xor Target.Column <> 7) Then
                   Exit Sub
                  End If
              End If
          Else
          Workbooks(1).Sheets(1).Range("C56").Value = 12
          End If
    Else
            If Target.Row = 51 And Target.Column = 1 Then
            Workbooks(1).Sheets(1).Range("C56").Value = 5
            End If
            If Target.Row = 51 And Target.Column = 3 Then
            Workbooks(1).Sheets(1).Range("C56").Value = 10
            End If
            If Target.Row = 51 And Target.Column = 5 Then
            Workbooks(1).Sheets(1).Range("C56").Value = 100
            End If
            If Target.Row = 51 And Target.Column = 7 Then
            Workbooks(1).Sheets(1).Range("C56").Value = 200
            End If
            If Target.Column = 1 And Target.Row = 15 Then
            Workbooks(1).Sheets(1).Range("G34").Value = "=C32*10*C34*10*3"
            End If
            If Target.Row = 29 And Target.Column = 1 Then
            Workbooks(1).Sheets(1).Range("G34").Value = "=C32*10*C34*10*3"
            End If
            If Target.Row = 29 And Target.Column = 4 Then
            Workbooks(1).Sheets(1).Range("G34").Value = "=C32*10*C34*10*4"
            End If
            If Target.Row = 15 And Target.Column = 7 Then
            Workbooks(1).Sheets(1).Range("G34").Value = "=C32*10*C34*10*4"
            End If
            If Target.Row = 15 And Target.Column = 4 Then
            Workbooks(1).Sheets(1).Range("G34").Value = "=C32*10*C34*10*2"
            End If
    End If
    End Sub

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Bonjour

    C'est à mon avis dans les cascades de IF... END IF qu'il y a un problème. Il est malaisé de reconstituer le tableau des valeurs logiques avec des IF et des XOR (Bien penser que XOR renvoie TRUE lorsqu'une seule des propositions est TRUE, et FALSE dans tous les autres cas...)

    Personnellement, je découperais mon code via des Select Case... End Case.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select Case Target.Row
        Case 51
            ...
        Case 53
            ...
        Case 29
            ...
    End Select
    Le code y gagnerait en clarté.

    Si tu n'y arrives pas, précise les conditions qui doivent être remplies pour que l'on puisse t'aider au mieux
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Tu ne comprend pas mes conditions?
    Si je clique sur :
    -A15 ==> tel formule dans G34
    -D15 ==> tel formule dans G34
    -G15 ==> tel formule dans G34
    -A29 ==> tel formule dans G34
    -D29 ==> tel formule dans G34


    -A51 ==> tel numéro dans C56
    -C51 ==> tel numéro dans C56
    -C53 ==> tel numéro dans C56
    -E51 ==> tel numéro dans C56
    -G51 ==> tel numéro dans C56

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Moi, j'utiliserais une suite de 10 CASE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select case target.address
        case "$A$15"
            ....
        case "$D$15"
            ...
        case ...
            ...
    End Select
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Peut tu me donnez plus de précisions stp...Peut tu me faire un exemple d'un entre deux case stp!!!!Mais il ne faut pas oublier que mes case en question sont des case cliquable qui execute une action

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    je pensais que mon exemple était assez clair.

    Le bloc Select... End Select permet d'évaluer différentes valeurs et remplace avantageusement l'imbrication de IF.

    Tu remplaces donc les ... entre deux Case par le code que tu souhaite appliquer lorsque la condition est remplie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select case target.address
        case "$A$15"
            MsgBox "La cellule cliquée est $A$15"
        case "$D$15"
            ...
        case ...
            ...
    End Select
    Bien entendu, tu peux avoir plusieurs lignes dans un bloc Case...

    t'aidera à y voir plus clair.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/05/2015, 19h18
  2. [POO] Cellules cliquables associées à une checkbox
    Par Obsidian dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/09/2008, 22h02
  3. executer une macro apres validation d'une cellule
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2007, 20h20
  4. Réponses: 2
    Dernier message: 10/01/2007, 18h03
  5. [JAR] jar executable cliquable
    Par spoutyoyo dans le forum Général Java
    Réponses: 8
    Dernier message: 22/12/2004, 17h04

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