bonjour à tous
dans une macro VBA, je voudrais lancer :
traitement A si clic bouton B
traitement Z si clic bouton B avec verrouillage majuscule activé (la touche
avec un petit cadenas fermé)
aussi je voudrais savoir comment déterminer que la touche verrouillage
majuscule est activée
merci d'avance pour les infos et bonne journée
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean
If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL)
End Function
Sub test()
If KeyMaj_IsON Then macroA Else: macroB: End If
End Sub
isabelle
Proust Michel a écrit :
bonjour à tous
dans une macro VBA, je voudrais lancer :
traitement A si clic bouton B
traitement Z si clic bouton B avec verrouillage majuscule activé (la touche
avec un petit cadenas fermé)
aussi je voudrais savoir comment déterminer que la touche verrouillage
majuscule est activée
merci d'avance pour les infos et bonne journée
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
isabelle
correction :
Sub test() If KeyMaj_IsON Then macroA Else: macroB End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
correction :
Sub test()
If KeyMaj_IsON Then macroA Else: macroB
End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean
If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL)
End Function
Sub test()
If KeyMaj_IsON Then macroA Else: macroB: End If
End Sub
isabelle
Proust Michel a écrit :
bonjour à tous
dans une macro VBA, je voudrais lancer :
traitement A si clic bouton B
traitement Z si clic bouton B avec verrouillage majuscule activé (la
touche avec un petit cadenas fermé)
aussi je voudrais savoir comment déterminer que la touche
verrouillage majuscule est activée
merci d'avance pour les infos et bonne journée
Sub test() If KeyMaj_IsON Then macroA Else: macroB End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
FFO
Salut à toi
Tu peux utiliser une cellule (A1 dans ma proposition) dans laquelle au grés de l'activation de la touche de verrouillage la lettre "M" ou "m" sera intégrée avec ces 2 codes :
Sub TestLock()
Application.OnKey "{CAPSLOCK}", "Verrouillage"
End Sub
Sub Verrouillage() If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then Workbooks("Document").Sheets("Feuil1").Range("A1") = "M" Else Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" End If End Sub
avec dans le ThisWorkbook ces lignes :
Private Sub Workbook_Open() Run ("TestLock") End Sub
Il faut juste actualiser la cellule du "M" ou "m" en fonction de l'état verrouilage Majuscule ou minuscule actif à l'ouverture du document
La manipulation ensuite de la touche verrouillage actualisera automatiquement cette cellule
Reste à mettre pour tes boutons ceci :
If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then Run("traitement A") Else Run("traitement Z") End If
Ce n'est pas trés élégant mais fonctionnel à défaut d'une autre solution
Du nom de ton document de ton onglet et cellule qui auront ce paramètre
Fais des essais et dis moi !!!!
Salut à toi
Tu peux utiliser une cellule (A1 dans ma proposition) dans laquelle au grés
de l'activation de la touche de verrouillage la lettre "M" ou "m" sera
intégrée avec ces 2 codes :
Sub TestLock()
Application.OnKey "{CAPSLOCK}", "Verrouillage"
End Sub
Sub Verrouillage()
If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then
Workbooks("Document").Sheets("Feuil1").Range("A1") = "M"
Else
Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m"
End If
End Sub
avec dans le ThisWorkbook ces lignes :
Private Sub Workbook_Open()
Run ("TestLock")
End Sub
Il faut juste actualiser la cellule du "M" ou "m" en fonction de l'état
verrouilage Majuscule ou minuscule actif à l'ouverture du document
La manipulation ensuite de la touche verrouillage actualisera
automatiquement cette cellule
Reste à mettre pour tes boutons ceci :
If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then
Run("traitement A")
Else
Run("traitement Z")
End If
Ce n'est pas trés élégant mais fonctionnel à défaut d'une autre solution
Tu peux utiliser une cellule (A1 dans ma proposition) dans laquelle au grés de l'activation de la touche de verrouillage la lettre "M" ou "m" sera intégrée avec ces 2 codes :
Sub TestLock()
Application.OnKey "{CAPSLOCK}", "Verrouillage"
End Sub
Sub Verrouillage() If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then Workbooks("Document").Sheets("Feuil1").Range("A1") = "M" Else Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" End If End Sub
avec dans le ThisWorkbook ces lignes :
Private Sub Workbook_Open() Run ("TestLock") End Sub
Il faut juste actualiser la cellule du "M" ou "m" en fonction de l'état verrouilage Majuscule ou minuscule actif à l'ouverture du document
La manipulation ensuite de la touche verrouillage actualisera automatiquement cette cellule
Reste à mettre pour tes boutons ceci :
If Workbooks("Document.xls").Sheets("Feuil1").Range("A1") = "m" Then Run("traitement A") Else Run("traitement Z") End If
Ce n'est pas trés élégant mais fonctionnel à défaut d'une autre solution
Du nom de ton document de ton onglet et cellule qui auront ce paramètre
Fais des essais et dis moi !!!!
FFO
Salut isabelle
Trés impressionné par ta proposition je me suis empressé de l'essayer toujour désireux d'apprendre Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes Peux tu m'en dire plus !!!!!
Merci à toi
Salut isabelle
Trés impressionné par ta proposition je me suis empressé de l'essayer
toujour désireux d'apprendre
Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat
Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes
Peux tu m'en dire plus !!!!!
Trés impressionné par ta proposition je me suis empressé de l'essayer toujour désireux d'apprendre Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes Peux tu m'en dire plus !!!!!
Merci à toi
Proust Michel
merci pour les infos je vais essayer de mettre ça en pratique !?!? bonne journée
"isabelle" a écrit dans le message de news:
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
merci pour les infos je vais essayer de mettre ça en pratique !?!?
bonne journée
"isabelle" <i@v> a écrit dans le message de news:
eMg3GVMyJHA.1712@TK2MSFTNGP03.phx.gbl...
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean
If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL)
End Function
Sub test()
If KeyMaj_IsON Then macroA Else: macroB: End If
End Sub
isabelle
Proust Michel a écrit :
bonjour à tous
dans une macro VBA, je voudrais lancer :
traitement A si clic bouton B
traitement Z si clic bouton B avec verrouillage majuscule activé (la
touche avec un petit cadenas fermé)
aussi je voudrais savoir comment déterminer que la touche verrouillage
majuscule est activée
merci d'avance pour les infos et bonne journée
merci pour les infos je vais essayer de mettre ça en pratique !?!? bonne journée
"isabelle" a écrit dans le message de news:
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
isabelle
salut Ffo,
voici le fichier dans lequel j'ai fais le test : http://cjoint.com/?fbfIPBKaNR
isabelle
FFO a écrit :
Salut isabelle
Trés impressionné par ta proposition je me suis empressé de l'essayer toujour désireux d'apprendre Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes Peux tu m'en dire plus !!!!!
Merci à toi
salut Ffo,
voici le fichier dans lequel j'ai fais le test :
http://cjoint.com/?fbfIPBKaNR
isabelle
FFO a écrit :
Salut isabelle
Trés impressionné par ta proposition je me suis empressé de l'essayer
toujour désireux d'apprendre
Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat
Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes
Peux tu m'en dire plus !!!!!
voici le fichier dans lequel j'ai fais le test : http://cjoint.com/?fbfIPBKaNR
isabelle
FFO a écrit :
Salut isabelle
Trés impressionné par ta proposition je me suis empressé de l'essayer toujour désireux d'apprendre Mais hélas minuscule ou Majuscule j'obtiens toujours le même résultat Je n'ai fais pourtant qu'un stricte copier/coller de tes lignes Peux tu m'en dire plus !!!!!
Merci à toi
FFO
Merci beaucoup isabelle
Aprés analyse ces lignes présentes dans ton fichier ne figurent pas dans ta proposition :
Option Explicit
Private Const VK_CAPITAL As Long = &H14
D'où la difficulté que j'ai rencontré pour faire la fonctionner correctement
Je capitalise
Merci encore
Merci beaucoup isabelle
Aprés analyse ces lignes présentes dans ton fichier ne figurent pas dans ta
proposition :
Option Explicit
Private Const VK_CAPITAL As Long = &H14
D'où la difficulté que j'ai rencontré pour faire la fonctionner correctement
Aprés analyse ces lignes présentes dans ton fichier ne figurent pas dans ta proposition :
Option Explicit
Private Const VK_CAPITAL As Long = &H14
D'où la difficulté que j'ai rencontré pour faire la fonctionner correctement
Je capitalise
Merci encore
Proust Michel
ça marche bien merci pour l'aide pour info est-il possible d'avoir accès à la barre d'état dans Excel ? bonne journée et bon pont ! "isabelle" a écrit dans le message de news: %
correction :
Sub test() If KeyMaj_IsON Then macroA Else: macroB End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
ça marche bien merci pour l'aide
pour info est-il possible d'avoir accès à la barre d'état dans Excel ?
bonne journée et bon pont !
"isabelle" <i@v> a écrit dans le message de news:
%23arfGYMyJHA.1712@TK2MSFTNGP03.phx.gbl...
correction :
Sub test()
If KeyMaj_IsON Then macroA Else: macroB
End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" (kbArray As
KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean
If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL)
End Function
Sub test()
If KeyMaj_IsON Then macroA Else: macroB: End If
End Sub
isabelle
Proust Michel a écrit :
bonjour à tous
dans une macro VBA, je voudrais lancer :
traitement A si clic bouton B
traitement Z si clic bouton B avec verrouillage majuscule activé (la
touche avec un petit cadenas fermé)
aussi je voudrais savoir comment déterminer que la touche verrouillage
majuscule est activée
merci d'avance pour les infos et bonne journée
ça marche bien merci pour l'aide pour info est-il possible d'avoir accès à la barre d'état dans Excel ? bonne journée et bon pont ! "isabelle" a écrit dans le message de news: %
correction :
Sub test() If KeyMaj_IsON Then macroA Else: macroB End Sub
isabelle
isabelle a écrit :
bonjour Michel,
pour verifier si la touche VerrMajuscule est acivé :
Private Type KeyboardBytes kbByte(0 To 255) As Byte End Type
Private Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long Private Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim tKB As KeyboardBytes
Public Function KeyMaj_IsON() As Boolean If GetKeyboardState(tKB) Then KeyMaj_IsON = tKB.kbByte(VK_CAPITAL) End Function
Sub test() If KeyMaj_IsON Then macroA Else: macroB: End If End Sub
isabelle
Proust Michel a écrit :
bonjour à tous dans une macro VBA, je voudrais lancer : traitement A si clic bouton B traitement Z si clic bouton B avec verrouillage majuscule activé (la touche avec un petit cadenas fermé) aussi je voudrais savoir comment déterminer que la touche verrouillage majuscule est activée merci d'avance pour les infos et bonne journée
isabelle
bonjour Michel,
Proust Michel a écrit :
ça marche bien merci pour l'aide pour info est-il possible d'avoir accès à la barre d'état dans Excel ?
oui, voici un exemple d'utilisation de la propriété| |StatusBar et |DisplayStatusBar| (extrait de l'aide) :
Cet exemple montre comment imposer le texte « Please be patient... » à la barre d'état avant l'ouverture du classeur Large.xls, puis rétablir le texte par défaut.
ça marche bien merci pour l'aide
pour info est-il possible d'avoir accès à la barre d'état dans Excel ?
oui, voici un exemple d'utilisation de la propriété| |StatusBar et
|DisplayStatusBar| (extrait de l'aide) :
Cet exemple montre comment imposer le texte « Please be patient... » à
la barre d'état avant l'ouverture du classeur Large.xls, puis rétablir
le texte par défaut.
ça marche bien merci pour l'aide pour info est-il possible d'avoir accès à la barre d'état dans Excel ?
oui, voici un exemple d'utilisation de la propriété| |StatusBar et |DisplayStatusBar| (extrait de l'aide) :
Cet exemple montre comment imposer le texte « Please be patient... » à la barre d'état avant l'ouverture du classeur Large.xls, puis rétablir le texte par défaut.