Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Définition d'un mot

14 réponses
Avatar
Guy72
Bonjour,
En "Feuil1", je souhaiterais faire apparaitre un UserForm avec la définition
du mot qui se trouve en G20.
Ce mot est issu d'une liste qui se trouve dans la colonne A de la "Feuil2"
et la définition en colonne B.
Merci de votre aide.
--
Cordialement
Guy

10 réponses

1 2
Avatar
FFO
Salut Guy
Pourquoi pas une boîte de dialogue ???
Je te propose dans cette idée ce code à mettre dans le VBA de la feuil1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G20").Address And Target <> "" Then
On Error Resume Next
Définition = Sheets("Feuil2").Range("A1", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row).Find(What:=Range("G20"),
After:=Sheets("Feuil2").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
MsgBox (Sheets("Feuil2").Range(Définition))
End If
End Sub

La définition apparaitra dans une boîte de dialogue
Celà devrait faire
Dis moi !!!
Avatar
Guy72
Salut FFO,
La boîte de dialogue, pourquoi pas.

Mais il y a un problème par à port à un UserFom, je ne peux pas la faire
apparaître ou je veux.

Ça fonctionne quand je n'ai que ça, mais si je le mets avec d'autres
événements, ça ne fonctionne plus

--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Salut Guy
Pourquoi pas une boîte de dialogue ???
Je te propose dans cette idée ce code à mettre dans le VBA de la feuil1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G20").Address And Target <> "" Then
On Error Resume Next
Définition = Sheets("Feuil2").Range("A1", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row).Find(What:=Range("G20"),
After:=Sheets("Feuil2").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
MsgBox (Sheets("Feuil2").Range(Définition))
End If
End Sub

La définition apparaitra dans une boîte de dialogue
Celà devrait faire
Dis moi !!!



Avatar
FFO
Rebonjour Guy
Effectivement la boîte de dialogue à ma connaissance ne peut être déplacée à
sa convenance
Mais elle évite de mettre en place un dispositif supplémentaire comme un
userform
Je te propose malgré tout ce code qui l'utilise :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G20").Address And Target <> "" Then
On Error Resume Next
Définition = Sheets("Feuil2").Range("A1", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row).Find(What:=Range("G20"),
After:=Sheets("Feuil2").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
UserForm1.TextBox1.Text = Sheets("Feuil2").Range(Définition)
UserForm1.StartUpPosition = 3
UserForm1.Show
End If
End Sub

A toi de créer le Userform1 tel que tu souhaites le voir apparaitre
J'ai positionné son affichage dans le coin gauche de l'écran par la ligne :

UserForm1.StartUpPosition = 3

Pour la cohabitation avec les autres évennements il serait bon que tu me les
communiques pour que je puisse t'indiquer comment les imbriquer

Donnes moi des nouvelles !!!
Avatar
Guy72
Bonjour FFO
En fait, je veux faire des essais à part, mais dès que je le mets dans le
fichier original (Mastermind) ça ne va plus.
Car, je fais aussi la solution des lettres, mais je voudrais faire
apparaître un UserForm avec la définition du mot.
Mais je voudrais ajouter la définition du mot.

En Résumé dans la réalité :
Quand il y a "Perdu ou Gagné" en AX10, la solution apparaît.
Quand il y a "Perdu ou Gagné" en AX10, le UserForm devrait apparaître avec
la définition.
Le mot concerné se trouve en BD20 issu de la liste colonne A et la
définition en colonne B en feuille "Listes".

Excuse-moi du changement, je pensais quand faisant une macro avec le
UserForm, je pouvais mettre le renvoie à "Call Définition" dans ma procédure
avec la solution?
--
Cordialement
Guy
"FFO" a écrit dans le message de news:

Rebonjour Guy
Effectivement la boîte de dialogue à ma connaissance ne peut être déplacée
à
sa convenance
Mais elle évite de mettre en place un dispositif supplémentaire comme un
userform
Je te propose malgré tout ce code qui l'utilise :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("G20").Address And Target <> "" Then
On Error Resume Next
Définition = Sheets("Feuil2").Range("A1", "A" &
Sheets("Feuil2").Range("A65535").End(xlUp).Row).Find(What:=Range("G20"),
After:=Sheets("Feuil2").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
UserForm1.TextBox1.Text = Sheets("Feuil2").Range(Définition)
UserForm1.StartUpPosition = 3
UserForm1.Show
End If
End Sub

A toi de créer le Userform1 tel que tu souhaites le voir apparaitre
J'ai positionné son affichage dans le coin gauche de l'écran par la ligne
:

UserForm1.StartUpPosition = 3

Pour la cohabitation avec les autres évennements il serait bon que tu me
les
communiques pour que je puisse t'indiquer comment les imbriquer

Donnes moi des nouvelles !!!



Avatar
FFO
Rebonjour Guy

Tu peux trés bien mettre mon code adapté ainsi dans un module classique que
tu appèleras dans ta procédure évennementielle :

Sub Définition()
On Error Resume Next
Définition = Sheets("Liste").Range("A1", "A" &
Sheets("Liste").Range("A65535").End(xlUp).Row).Find(What:=Range("BD20"),
After:=Sheets("Liste").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
UserForm1.TextBox1.Text = Sheets("Liste").Range(Définition)
UserForm1.StartUpPosition = 3
UserForm1.Show
End If
End Sub

Celà devrait convenir
Dis moi !!!
Avatar
Modeste
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

En Résumé dans la réalité :
Quand il y a "Perdu ou Gagné" en AX10, la solution apparaît.
Le mot concerné se trouve en BD20 issu de la liste colonne A et la
définition en colonne B en feuille "Listes".



tout a fait déconnecté de ta problematique...
mais pour le fun ;o)))

il suffit d'appeler la proc Definition_Dico

dans un module standard :

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1

Sub Definition_Dico()
ShellExecute 0, vbNullString, "http://www.mediadico.com/dictionnaire/lecture.asp/definition/" & [BD20] & "/parle", vbNullString, "C:", SW_SHOWNORMAL
End Sub





--
@+
;o)))
Avatar
Guy72
re FFO,
J'ai le problème suivant : Message Erreur de compilation : Fonction ou
variable attendue.
Et j'ai en surbrillance .Définition = ça te dis quelque chose ?
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour Guy

Tu peux trés bien mettre mon code adapté ainsi dans un module classique
que
tu appèleras dans ta procédure évennementielle :

Sub Définition()
On Error Resume Next
Définition = Sheets("Liste").Range("A1", "A" &
Sheets("Liste").Range("A65535").End(xlUp).Row).Find(What:=Range("BD20"),
After:=Sheets("Liste").Range("A1"), LookIn:=xlValues, LookAt:=xlWhole,
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Offset(0, 1).Address
UserForm1.TextBox1.Text = Sheets("Liste").Range(Définition)
UserForm1.StartUpPosition = 3
UserForm1.Show
End If
End Sub

Celà devrait convenir
Dis moi !!!


Avatar
Guy72
Salut Modeste,
Toujours là pour le fun!!
Effectivement ça fonctionne...............mais un peu léger, il faudrait
quand même au moins que ça trouve le mot et la définition ...........;o)))
--
Cordialement
Guy

"Modeste" a écrit dans le message de news:

Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

En Résumé dans la réalité :
Quand il y a "Perdu ou Gagné" en AX10, la solution apparaît.
Le mot concerné se trouve en BD20 issu de la liste colonne A et la
définition en colonne B en feuille "Listes".



tout a fait déconnecté de ta problematique...
mais pour le fun ;o)))

il suffit d'appeler la proc Definition_Dico

dans un module standard :

Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
Const SW_SHOWNORMAL = 1

Sub Definition_Dico()
ShellExecute 0, vbNullString,
"http://www.mediadico.com/dictionnaire/lecture.asp/definition/" & [BD20] &
"/parle", vbNullString, "C:", SW_SHOWNORMAL
End Sub





--
@+
;o)))
Avatar
FFO
Rebonjour à toi

Tu as mis mon code dans une Macro que tu as appelé comment ???

Quelle ligne d'instruction as tu utilisé pour l'appeler

Merci pour ces précisions
Avatar
Guy72
Re FFO
Je l'ai appelé comme sur ton message "Définition"
-
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour à toi

Tu as mis mon code dans une Macro que tu as appelé comment ???

Quelle ligne d'instruction as tu utilisé pour l'appeler

Merci pour ces précisions






1 2