Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/06/2007, 11h41   #1
Invité de passage
 
Inscription : juin 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 4
Points : 0
Points : 0
Par défaut [VBA-W] clique droit souris

bonjour,

j'aimerai associé un evenement au clique droit de la souris.
Est ce possible?
je suis debutant en vba word et je comprend pas trop (deja que en excel je rame...).

sinon j'aurais aimé aussi savoir si il était possible a l'aide de application.inputbox, de recuperer un champs sur la feuille word (un peu comme dans excel quand on écrit comme attribut à inputbox, type := 8)



grosso modo le code ca ferait ca

pour i allant de 1 a 6

pos (i) = surligne la portion de texte désiré

evenement clique droit

i = i +1

merci d'avance pour votre aide

clben23

ps: j'ai bien regarder l'aide sur inputbox et je pige pas trop
clben23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 14h12   #2
Invité de passage
 
Inscription : juin 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 4
Points : 0
Points : 0
(re)bonjour,

j'ai trouver ca masi bon je comprend pas trop comment ca marche quelqu'un pourais m'aider en utilisant ce genre de code:


http://www.developpez.net/forums/d1335/autres-langages/general-visual-basic-6-vbscript/vb-6-anterieur/detection-touches-enfoncees-api/

j'ai essayait en ecrivant ca mais bon ..marche pas:

Code :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Private Sub importer_Click()
 
 Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
  End Function
 
    Dim adresse As String
    Dim adresse_1 As String
    Dim pos_w As String
    Dim pos_rm As String
    Dim pos_mob As String
    Dim pos_cc As String
    Dim pos_rc As String
    Dim pos_nrc As String
    Dim pos As String
    Dim tableaux As String
 
 
For i = 1 To 6 Step 1
 
        If i = 1 Then
            pos_w = pos
            case_coche = weight
            tableaux = "weight"
        End If
 
        If i = 2 Then
            pos_rm = pos
            case_coche = reliabilty
            tableaux = "reliabilty maintainability (DMC)"
        End If
 
        If i = 3 Then
            pos_mob = pos
            case_coche = make_or_buy
            tableaux = "Make or Buy"
        End If
 
        If i = 4 Then
            pos_cc = pos
            case_coche = Coponent_Costs
            tableaux = "Coponent Costs"
        End If
 
        If i = 5 Then
            pos_rc = pos
            case_coche = RC_Costs
            tableaux = "RC Costs"
        End If
 
        If i = 6 Then
            pos_nrc = pos
            case_coche = NRC
            tableaux = "Total NRC & System"
        End If
 
 
    If case_coche = True Then
 
line1:
 
        MsgBox "selectioner la chaine de caractéré qui sera remplacé par le tableau " & tableaux
    import.Hide
 
line2:
 
       If GetAsyncKeyState(&O2) = 1 Then
       Next i
       Else
       GoTo line2
       End If
 
 
 
    End If
 
 
 
Next i
 
 
End Sub
clben23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2007, 21h42   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 352
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 352
Points : 29 265
Points : 29 265
Avec ce code, ce n'est plus du VBA simple, tu fais appel aux API.
C'est la déclaration dans Declare Function.

Si tu veux des explications plus complètes, tu devrais faire un tour ici, chez Arkham, c'est notre maître API
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 14h53   #4
Invité de passage
 
Inscription : juin 2007
Messages : 4
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 4
Points : 0
Points : 0
salut,

bon ma macro change d'heure en heure,maintenanat j'ai ca:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function Capture_w() As String
 
Capture_w = Selection
 
    CustomizationContext = NormalTemplate
    acode = BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyW)
 
    While KeyPress <> acode
    Do
    Loop
    Wend
 
 
End Function
j'aimerai pouvoir selection une chane de caractère sous word et mettre fin a cette selection lorsque je presse la combinaison Ctrl Alt et W ou une autre du genre pression sur Entrée, ou fin bref

je ne peut meme pas selectionner puisque la macro tourne en rond, un peut comme moi en fait.Voila si il y en a qui pense savoir pourquoi et qui peuvent me dire comment fiare pour arranger ma macro (qui est sous word ) ou bien un truc du genre "ouais sinon pourquoi tu essayerai pas cette solution...".

Même si elle est rocambolesque, j'écoute tout.

Merci
clben23
clben23 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2007, 18h01   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 352
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 352
Points : 29 265
Points : 29 265
Si c'est la totalité de ton code, tu entre dans une boucle infinie.

Code :
1
2
3
4
5
6
    acode = BuildKeyCode(wdKeyAlt, wdKeyControl, wdKeyW)
 
    While KeyPress <> acode
    Do
    Loop
    Wend
tant que tu as autre chose que Alt Ctrl W, la boucle tourne.
Je dirais même plus, elle tourne/tourne avec le Do Loop
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2007, 05h46   #6
Rédacteur/Modérateur
 
Avatar de Deepin
 
Homme Deepin
Ingénieur - Chef de projet Modélisation/Simulation
Inscription : avril 2004
Messages : 1 341
Détails du profil
Informations personnelles :
Nom : Homme Deepin
Localisation : Ile Maurice

Informations professionnelles :
Activité : Ingénieur - Chef de projet Modélisation/Simulation
Secteur : Industrie

Informations forums :
Inscription : avril 2004
Messages : 1 341
Points : 7 085
Points : 7 085
Envoyer un message via Skype™ à Deepin
je n'ai pas trop compris ce que tu veux faire mais :
On accède au clic droit en gérant l'évènement d'application App_WindowBeforeRightClick

On gère les raccourcis clavier par la collection KeyBindings
Deepin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h50.


 
 
 
 
Partenaires

Hébergement Web