Définition d'un mot

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #17904531
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 !!!
Guy72
Le #17907821
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"
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 !!!



FFO
Le #17911851
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 !!!
Guy72
Le #17912011
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"
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 !!!



FFO
Le #17912501
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 !!!
Modeste
Le #17913161
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)))
Guy72
Le #17916491
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"
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 !!!


Guy72
Le #17916481
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"
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)))
FFO
Le #17916941
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
Guy72
Le #17917711
Re FFO
Je l'ai appelé comme sur ton message "Définition"
-
Cordialement
Guy

"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






Publicité
Poster une réponse
Anonyme