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

VBA Word Discussion :

Bouton radio renvoi valeur à feuille de donnée Word


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Bouton radio renvoi valeur à feuille de donnée Word
    Bonjour à tous,

    Je suis consultant en sécurité des systèmes d'information et j'essaye de me servir d'un document Word afin de mener des analyses de risques.
    Etant un newbie en VBA, je demande votre aide afin de réaliser ce projet.

    Le principe est simple, 4 boutons radio qui doivent renvoyer chacun une valeur différente dans une feuille de donnée Word afin d'animer un graphique.

    Grâce à de généreux contributeurs, je me suis inspiré de ce qui avait déjà été fait, mais cela ne fonctionne pas, j'ai une erreur qui me dit "erreur de compilation" et s'arrête sur "Dim sheet As Excel.Worksheet" que je n'arrive pas à déboguer.

    Voici le code :

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Private Sub DataGraphic(ByVal cell As String, ByVal result As Integer)
        Dim graphic As Chart
        Dim sheet As Excel.Worksheet
        Dim objShape As InlineShape
        For Each objShape In ActiveDocument.InlineShapes
            If objShape.HasChart Then
            If objShape.Title = "Carto_risques" Then Set graphic = objShape.Chart
            End If
        Next
        graphic.ChartData.Activate
        Set sheet = graphic.ChartData.Workbook.Worksheets(1)
        sheet.Application.WindowState = xlMinimised
        sheet.Range(cell) = result
        graphic.Refresh
        sheet.Application.Quit
    End Sub
    Sub R1R1_Click()
        cell = "B2"
        result = 1
        DataGraphic cell, result
    End Sub
    Sub R1R2_Click()
        cell = "B2"
        result = 2
        DataGraphic cell, result
    End Sub
    Sub R1R3_Click()
        cell = "B2"
        result = 3
        DataGraphic cell, result
    End Sub
    Sub R1R4_Click()
        cell = "B2"
        result = 4
        DataGraphic cell, result
    End Sub
    Sub R1P1_Click()
        cell = "C2"
        result = 1
        DataGraphic cell, result
    End Sub
    Sub R1P2_Click()
        cell = "C2"
        result = 2
        DataGraphic cell, result
    End Sub
    Sub R1P3_Click()
        cell = "C2"
        result = 3
        DataGraphic cell, result
    End Sub
    Sub R1P4_Click()
        cell = "C2"
        result = 4
        DataGraphic cell, result
    End Sub
    Ci-joint, vous trouverez le fichier sur lequel je travaille, afin de mieux visualiser mon problème.

    Merci d'avance pour votre aide .
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juillet 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Après activation dans le MSVB de la librairie Microsoft Excel, le débogueur va un peu plus loin, mais s'arrête sur "graphic.ChartData.Activate" comme si la fonction objShape.Title ne trouvait pas le graphique.

    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Private Sub DataGraphic(ByVal cell As String, ByVal result As Integer)
        Dim graphic As Chart
        Dim sheet As Excel.Worksheet
        Dim objShape As InlineShape
        For Each objShape In ActiveDocument.InlineShapes
            If objShape.HasChart Then
            If objShape.Title = "Carto_risques" Then Set graphic = objShape.Chart
            End If
        Next
        graphic.ChartData.Activate
        Set sheet = graphic.ChartData.Workbook.Worksheets(1)
        sheet.Application.WindowState = xlMinimised
        sheet.Range(cell) = result
        graphic.Refresh
        sheet.Application.Quit
    End Sub
    Sub R1R1_Click()
        cell = "B2"
        result = 1
        DataGraphic cell, result
    End Sub
    Sub R1R2_Click()
        cell = "B2"
        result = 2
        DataGraphic cell, result
    End Sub
    Sub R1R3_Click()
        cell = "B2"
        result = 3
        DataGraphic cell, result
    End Sub
    Sub R1R4_Click()
        cell = "B2"
        result = 4
        DataGraphic cell, result
    End Sub
    Sub R1P1_Click()
        cell = "C2"
        result = 1
        DataGraphic cell, result
    End Sub
    Sub R1P2_Click()
        cell = "C2"
        result = 2
        DataGraphic cell, result
    End Sub
    Sub R1P3_Click()
        cell = "C2"
        result = 3
        DataGraphic cell, result
    End Sub
    Sub R1P4_Click()
        cell = "C2"
        result = 4
        DataGraphic cell, result
    End Sub

Discussions similaires

  1. [XL-2007] Gestion de boutons radio sur une feuille de calcul
    Par grandid88 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/09/2014, 17h40
  2. recupérer la valeur d'un bouton radio
    Par ericmart dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/05/2008, 16h42
  3. Valeur d'un groupe de boutons radio non sélectionnés ??
    Par michaelbob dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/11/2005, 17h27
  4. Bouton radio : récupérer la valeur du bouton avec selectedIn
    Par djodjo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/08/2005, 13h07
  5. [JSP] passer en parametre valeur d un bouton radio
    Par logica dans le forum Servlets/JSP
    Réponses: 19
    Dernier message: 13/05/2005, 15h09

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