J'ai un point de menu dans Excel qui permet d'ouvrir une fenêtre qui
contient une liste d'article.
Dans cette fenêtre, je peux sélectionner des articles et les transférer dans
ma feuille Excel.
Au départ lorsque ma fenêtre était ouverte, je ne pouvais pas sélectionner
de cellule dans ma feuille Excel . Après question sur les newsgroup on m'a
dit que je devais ajouter la ligne suivante dans l'événement activate de la
form
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel
je voullais transférer mes articles même si la fenêtre était ouverte le seul
problème c'est que maintenant j'ai besoin de taper du texte dans une cellule
tout en laissant la fenêtre des articles ouvertes .
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Emcy
Salut,
j'ai pas bien compris ta question mais essayes ça (je pense que ça devrait t'aider) :
'a mettre dans ta userform Option Explicit
Private Declare Function GetActiveWindow Lib "user32" () As Long Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Private Declare Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewWord As Long) As Long Private Declare Function SendMessageA Lib "user32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long Private Declare Function ExtractIconA Lib "shell32.dll" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function LockWindowUpdate Lib "user32" (ByVal HwndLock As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const SC_CLOSE As Long = &HF060 '* Close menu item Private Const WS_MAXIMIZEBOX = &H10000 '* Maximise Private Const WS_MINIMIZEBOX = &H20000 '* Minimise Private Const WS_THICKFRAME = &H40000 Private Const WS_SIZEBOX = WS_THICKFRAME '* Taille ajustable
'* Handle de la fenêtre hwnd = GetActiveWindow '-> Obligatoirement
hwnd = FindWindowA(vbNullString, Me.Caption) '-> Possible avec EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub
Sub UserForm_Initialize()
Dim IcoPath As String Dim hIcon As Variant Dim hwnd As Variant Dim wLong As Variant
'* Chemin complet de l'icone IcoPath = ThisWorkbook.Path & "icone.ico" If Dir(IcoPath) = "" Then hIcon = 0 Else hIcon = ExtractIconA(0, IcoPath, 0)
hwnd = FindWindowA(vbNullString, Me.Caption)
ShowWindow hwnd, SW_HIDE '* Masquer la fenêtre wLong = GetWindowLongA(hwnd, GWL_EXSTYLE) '* Réduction dans l'application -> Inactiver la ligne suivante '* Réduction dans la barre de tâches -> Activer la ligne suivante wLong = wLong Or WS_EX_APPWINDOW SetWindowLongA hwnd, GWL_EXSTYLE, wLong
'* Installation de l'icone SendMessageA hwnd, WM_SETICON, False, hIcon
'* Inhiber la croix de fermeture -> Activer la ligne suivante 'DeleteMenu GetSystemMenu(hwnd, 0), SC_CLOSE, 0&
'* add minimize, maximize and size wLong = GetWindowLongA(hwnd, GWL_STYLE) '* Choix possibles : wLong = wLong Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SIZEBOX wLong = wLong Or WS_MAXIMIZEBOX 'WS_MINIMIZEBOX wLong = wLong Or WS_MINIMIZEBOX
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel
je voullais transférer mes articles même si la fenêtre était ouverte le seul
problème c'est que maintenant j'ai besoin de taper du texte dans une cellule
tout en laissant la fenêtre des articles ouvertes .
Comment puis réaliser cela?
Merci
-- !!!!ANTISPAM!!!!
Cliquez sur le lien pour répondre
http://cerbermail.com/?YFShDEWIbx
.
Salut,
j'ai pas bien compris ta question mais essayes ça (je
pense que ça devrait t'aider) :
'a mettre dans ta userform
Option Explicit
Private Declare Function GetActiveWindow Lib "user32" ()
As Long
Private Declare Function FindWindowA Lib "user32" (ByVal
lpClassName As String, ByVal lpWindowName As String) As
Long
Private Declare Function ShowWindow Lib "user32" (ByVal
hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function GetWindowLongA Lib "user32"
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32"
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewWord
As Long) As Long
Private Declare Function SendMessageA Lib "user32" (ByVal
hwnd As Long, ByVal wMsg As Long, ByVal wParam As
Integer, ByVal lParam As Long) As Long
Private Declare Function ExtractIconA Lib "shell32.dll"
(ByVal hInst As Long, ByVal lpszExeFileName As String,
ByVal nIconIndex As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal
hMenu As Long, ByVal nPosition As Long, ByVal wFlags As
Long) As Long
Private Declare Function GetSystemMenu Lib "user32"
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal
hwnd As Long, ByVal fEnable As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32"
(ByVal hMenu As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal
hwnd As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal
hMenu As Long, ByVal nPosition As Long, ByVal wFlags As
Long) As Long
Private Declare Function LockWindowUpdate Lib "user32"
(ByVal HwndLock As Long) As Long
Private Declare Function FindWindow Lib "user32"
Alias "FindWindowA" (ByVal lpClassName As String, ByVal
lpWindowName As String) As Long
Private Const SC_CLOSE As Long = &HF060 '* Close menu
item
Private Const WS_MAXIMIZEBOX = &H10000 '* Maximise
Private Const WS_MINIMIZEBOX = &H20000 '* Minimise
Private Const WS_THICKFRAME = &H40000
Private Const WS_SIZEBOX = WS_THICKFRAME '* Taille
ajustable
'* Handle de la fenêtre
hwnd = GetActiveWindow '->
Obligatoirement
hwnd = FindWindowA(vbNullString, Me.Caption) '->
Possible avec
EnableWindow FindWindowA("XLMAIN", Application.Caption),
1
End Sub
Sub UserForm_Initialize()
Dim IcoPath As String
Dim hIcon As Variant
Dim hwnd As Variant
Dim wLong As Variant
'* Chemin complet de l'icone
IcoPath = ThisWorkbook.Path & "icone.ico"
If Dir(IcoPath) = "" Then hIcon = 0 Else hIcon =
ExtractIconA(0, IcoPath, 0)
hwnd = FindWindowA(vbNullString, Me.Caption)
ShowWindow hwnd, SW_HIDE '* Masquer la
fenêtre
wLong = GetWindowLongA(hwnd, GWL_EXSTYLE)
'* Réduction dans l'application -> Inactiver la
ligne suivante
'* Réduction dans la barre de tâches -> Activer la
ligne suivante
wLong = wLong Or WS_EX_APPWINDOW
SetWindowLongA hwnd, GWL_EXSTYLE, wLong
'* Installation de l'icone
SendMessageA hwnd, WM_SETICON, False, hIcon
'* Inhiber la croix de fermeture -> Activer la
ligne suivante
'DeleteMenu GetSystemMenu(hwnd, 0), SC_CLOSE, 0&
'* add minimize, maximize and size
wLong = GetWindowLongA(hwnd, GWL_STYLE)
'* Choix possibles : wLong = wLong Or WS_MINIMIZEBOX
Or WS_MAXIMIZEBOX Or WS_SIZEBOX
wLong = wLong Or WS_MAXIMIZEBOX 'WS_MINIMIZEBOX
wLong = wLong Or WS_MINIMIZEBOX
j'ai pas bien compris ta question mais essayes ça (je pense que ça devrait t'aider) :
'a mettre dans ta userform Option Explicit
Private Declare Function GetActiveWindow Lib "user32" () As Long Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Private Declare Function GetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLongA Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewWord As Long) As Long Private Declare Function SendMessageA Lib "user32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long Private Declare Function ExtractIconA Lib "shell32.dll" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As Long) As Long Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function LockWindowUpdate Lib "user32" (ByVal HwndLock As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const SC_CLOSE As Long = &HF060 '* Close menu item Private Const WS_MAXIMIZEBOX = &H10000 '* Maximise Private Const WS_MINIMIZEBOX = &H20000 '* Minimise Private Const WS_THICKFRAME = &H40000 Private Const WS_SIZEBOX = WS_THICKFRAME '* Taille ajustable
'* Handle de la fenêtre hwnd = GetActiveWindow '-> Obligatoirement
hwnd = FindWindowA(vbNullString, Me.Caption) '-> Possible avec EnableWindow FindWindowA("XLMAIN", Application.Caption), 1
End Sub
Sub UserForm_Initialize()
Dim IcoPath As String Dim hIcon As Variant Dim hwnd As Variant Dim wLong As Variant
'* Chemin complet de l'icone IcoPath = ThisWorkbook.Path & "icone.ico" If Dir(IcoPath) = "" Then hIcon = 0 Else hIcon = ExtractIconA(0, IcoPath, 0)
hwnd = FindWindowA(vbNullString, Me.Caption)
ShowWindow hwnd, SW_HIDE '* Masquer la fenêtre wLong = GetWindowLongA(hwnd, GWL_EXSTYLE) '* Réduction dans l'application -> Inactiver la ligne suivante '* Réduction dans la barre de tâches -> Activer la ligne suivante wLong = wLong Or WS_EX_APPWINDOW SetWindowLongA hwnd, GWL_EXSTYLE, wLong
'* Installation de l'icone SendMessageA hwnd, WM_SETICON, False, hIcon
'* Inhiber la croix de fermeture -> Activer la ligne suivante 'DeleteMenu GetSystemMenu(hwnd, 0), SC_CLOSE, 0&
'* add minimize, maximize and size wLong = GetWindowLongA(hwnd, GWL_STYLE) '* Choix possibles : wLong = wLong Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX Or WS_SIZEBOX wLong = wLong Or WS_MAXIMIZEBOX 'WS_MINIMIZEBOX wLong = wLong Or WS_MINIMIZEBOX
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel
je voullais transférer mes articles même si la fenêtre était ouverte le seul
problème c'est que maintenant j'ai besoin de taper du texte dans une cellule
tout en laissant la fenêtre des articles ouvertes .
Comment puis réaliser cela?
Merci
-- !!!!ANTISPAM!!!!
Cliquez sur le lien pour répondre
http://cerbermail.com/?YFShDEWIbx
.
Michel Pierron
Salut Laurent; Dans ton module UserForm en tête de module: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hWnd As Long, ByVal fEnable As Long) As Long
Private Sub UserForm_Initialize() EnableWindow FindWindow("XLMAIN", Application.Caption), True End Sub
"Moureau Laurent" <nospam(Cliquer sur le lien en bas du message pour répondre)@swing.be> a écrit dans le message de news:
Bonjour à tous,
J'ai un point de menu dans Excel qui permet d'ouvrir une fenêtre qui contient une liste d'article. Dans cette fenêtre, je peux sélectionner des articles et les transférer dans ma feuille Excel.
Au départ lorsque ma fenêtre était ouverte, je ne pouvais pas sélectionner de cellule dans ma feuille Excel . Après question sur les newsgroup on m'a dit que je devais ajouter la ligne suivante dans l'événement activate de la form
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel je voullais transférer mes articles même si la fenêtre était ouverte le seul problème c'est que maintenant j'ai besoin de taper du texte dans une cellule tout en laissant la fenêtre des articles ouvertes .
Comment puis réaliser cela?
Merci
-- !!!!ANTISPAM!!!!
Cliquez sur le lien pour répondre
http://cerbermail.com/?YFShDEWIbx
Salut Laurent;
Dans ton module UserForm en tête de module:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function EnableWindow Lib "user32" _
(ByVal hWnd As Long, ByVal fEnable As Long) As Long
Private Sub UserForm_Initialize()
EnableWindow FindWindow("XLMAIN", Application.Caption), True
End Sub
"Moureau Laurent" <nospam(Cliquer sur le lien en bas du message pour
répondre)@swing.be> a écrit dans le message de
news:OljaO6xwDHA.3744@TK2MSFTNGP11.phx.gbl...
Bonjour à tous,
J'ai un point de menu dans Excel qui permet d'ouvrir une fenêtre qui
contient une liste d'article.
Dans cette fenêtre, je peux sélectionner des articles et les transférer dans
ma feuille Excel.
Au départ lorsque ma fenêtre était ouverte, je ne pouvais pas sélectionner
de cellule dans ma feuille Excel . Après question sur les newsgroup on m'a
dit que je devais ajouter la ligne suivante dans l'événement activate de la
form
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel
je voullais transférer mes articles même si la fenêtre était ouverte le seul
problème c'est que maintenant j'ai besoin de taper du texte dans une cellule
tout en laissant la fenêtre des articles ouvertes .
Salut Laurent; Dans ton module UserForm en tête de module: Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hWnd As Long, ByVal fEnable As Long) As Long
Private Sub UserForm_Initialize() EnableWindow FindWindow("XLMAIN", Application.Caption), True End Sub
"Moureau Laurent" <nospam(Cliquer sur le lien en bas du message pour répondre)@swing.be> a écrit dans le message de news:
Bonjour à tous,
J'ai un point de menu dans Excel qui permet d'ouvrir une fenêtre qui contient une liste d'article. Dans cette fenêtre, je peux sélectionner des articles et les transférer dans ma feuille Excel.
Au départ lorsque ma fenêtre était ouverte, je ne pouvais pas sélectionner de cellule dans ma feuille Excel . Après question sur les newsgroup on m'a dit que je devais ajouter la ligne suivante dans l'événement activate de la form
Après l'ajout de cette ligne, je pouvais sélectionner la cellule dans laquel je voullais transférer mes articles même si la fenêtre était ouverte le seul problème c'est que maintenant j'ai besoin de taper du texte dans une cellule tout en laissant la fenêtre des articles ouvertes .