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] bouton cliquez et nom selectionner


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 [VBA-E] bouton cliquez et nom selectionner
    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        Dim lavaleur1 As String
        Dim resultat1 As Single
        Dim resultat As Single
        Dim reprise As Single
        reprise = Cells(16, 4).Value
     
     
        If Target.Row <> 17 Or (Target.Column < 4 Xor Target.Column > 4) Then
        Exit Sub
        Else
     
        lavaleur1 = Target.Value
            resultat1 = reprise * 2
            resultat = resultat1
            Workbooks(1).Sheets(10).Range("D16").Value = resultat
            Workbooks(1).Sheets(10).Range("D21").Value = "1"
        End If
     
    End Sub
    1 // Voila mon programme...Mais ce qui est énervant c'est que j'aimerai que l'on clique sur la case en quiestion pour mutliplier par 2 la variable reprise...Mais la c'est dès que je la selectionne même avec le clavier il multiplie par deux et sa je n'aime pas...
    2 // Une dernière question peut t-on dire je veu QU'on puisse cliquez qu'une fois!!!
    J'ai pensez a deux solution :
    -mettre une condition qui prend la case a l'initiale on la multiplie par deux, ensuite nous faisons une condition...Mais lorsque ma case va etre multiplier par deux ma variable initiale sera aussi changer donc je ne voit pas l'interet...
    -Mettre une case a cocher mais je ne sais pas comment cela marche...
    Et au faite si je veut faire 10 prgramme comme si dessus comment je differencie le titre ou la debut de mon programme...

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut case a cocher
    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 CheckBox1_Click()
    Dim lavaleur1 As String
        Dim resultat1 As Single
        Dim resultat As Single
        Dim reprise As Single
        reprise = Cells(16, 9).Value
        If CheckBox1 = True Then
        total = reprise * 2
        Workbooks(1).Sheets(10).Range("H16").Value = resultat
        Workbooks(1).Sheets(10).Range("H21").Value = "1"
        End If
     
    End Sub
    Ce code ne marche pas et je ne sais pas comment faire!!!!

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ma réponse adaptée à ton pb
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Address <> "$I$16" Then Exit Sub
        ActiveSheet.Shapes(1).Select
        With Selection
                If .Value = xlOn Then Cells(16, 9).Value = Cells(16, 9).Value * 2
        End With
    End Sub
    A+

    Dis, quand tu veux répondre, n'ouvre pas une discussion, reste sur celle-ci STP. Sinon on est perdu -> Bouton "Ajouter une réponse"
    J'ai fusionné les deux discussions

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ta façon de demander n'incite pas à te répondre
    Mais bon, tu seras peut-être plus courtois la prochaine fois (?) et il ne sera pas dit que j'ai écrit ça pour rien.
    Pour faire ce que tu veux, tu dois affecter une macro à ton Checkbox -> Clic droit sur le checkbox -> Affecter une macro -> FautYmultiplierOuNon ... et tu places cette macro dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub FautYmultiplierOuNon()
        ActiveSheet.Shapes(1).Select
        With Selection
            If .Value = xlOn Then Cells(16, 9).Value = Cells(16, 9).Value * 2
        End With
        Cells(16,9).select 'uniquement là pour désélectionner la check
    End Sub

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Testé sur VBA 2003 et ça fonctionne chez moi ! Tu as d'autres objets sur ta feuille de calculs ?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ajoute une ligne après la sélection de la checkbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveSheet.Shapes(1).Select
        MsgBox ActiveSheet.Shapes(1).Name' Ligne à ajouter
    Si le nom n'est pas le bon alors l'index non plus. Tu dois utiliser le bon index
    Pour le retrouver, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For each LeShape in Activesheet.shapes
         i = i + 1
         msgbox LeShape.name & " N° d'index " & i
    Next

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Une cellule toute nue ne gère pas les événements (que sont MouseDown, MouseUp, KeyDown, KeyUp, etc.) Donc, l'idée d'un clic sur la cellule, faut oublier
    Une checkbox ? Une idée de code (à adapter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address <> "$D$10" Then Exit Sub
    ActiveSheet.Shapes(1).Select
        With Selection
            If .Value = xlOff Then
                MsgBox "FAUX"
                ElseIf .Value = xlOn Then
                MsgBox "VRAI"
            End If
        End With
    End Sub
    Là, quand tu passes sur D10, ce qui conditionne l'action est la validation ou non de la checkbox. Tu adaptes

    Quand aux 10 événements "Worksheet_SelectionChange", faut pas rêver... Un seul est suffisant, tu dois conditionner tes actions en fonction des cellules actives ou d'autres paramètres qu'il te reste à définir...
    A+

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/04/2007, 12h01
  2. [VBA-E]attribution d'un nom à une cellule
    Par capedam dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/02/2006, 05h22
  3. [VBA-E] bouton dynamique avec fonction
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 38
    Dernier message: 06/02/2006, 12h43
  4. [VBA-E]Bouton et différents workbooks
    Par mirascheat dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/09/2005, 21h51
  5. Transormer un lien bouton submit avec nom et valeur ?
    Par boteha dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 20/02/2005, 19h23

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