formulaire et bug d'excel

Le
sab
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.

Cette boite de dialogue d'excel hors du formulaire et dans le tableau
fonctionne parfaitement???

Avez vous une idée? Est ce un bug?
Merci par Avance

Je precise (cela n'a sans doute rien a voir.) que en background de
mon formulaire il y a une image(donc un lien???)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mishell
Le #16746831
Bonjour.

Place ton code dans l'événement MouseUp plutôt que dans MouseDown.

Mishell


"sab" news:
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.

Cette boite de dialogue d'excel hors du formulaire et dans le tableau
fonctionne parfaitement???

Avez vous une idée? Est ce un bug?
Merci par Avance

Je precise (cela n'a sans doute rien a voir....) que en background de mon
formulaire il y a une image...(donc un lien...???)




Papyjac
Le #16748271
Bonjour michel,

J'ai testé ton code en V2003, j'affiche la boite la boite de dialogue, on ne
peut pas utiliser la souris, mais on peut taper une adresse ; puis faire
entrée ; la boite se referme, le texte saisi est copié dans l'onglet. Je ne
sais pas à quoi ça sert mais mais besoin de Ctrl alt suppr
--
Papyjac


"Mishell" a écrit :

Bonjour.

Place ton code dans l'événement MouseUp plutôt que dans MouseDown.

Mishell


"sab" news:
> bonjour,
>
> Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
> click de la souris (mousedown)dans la text box:
>
> Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
> Integer, ByVal X As Single, ByVal Y As Single)
> Application.Dialogs(xlDialogInsertHyperlink).Show
> End Sub
>
> J'obtiens bien le résulta escompté : affichage de la fenetre "lien
> hypertexte" de excel mais je ne peux rien faire tout se fige et seul
> "Ctrl-Alt-Suppr" permet de fermer excel.
>
> Cette boite de dialogue d'excel hors du formulaire et dans le tableau
> fonctionne parfaitement???
>
> Avez vous une idée? Est ce un bug?
> Merci par Avance
>
> Je precise (cela n'a sans doute rien a voir....) que en background de mon
> formulaire il y a une image...(donc un lien...???)
>
>





sab
Le #16752121
Bonjour,

Un grand Merci!! car en effet avec MouseUp tout redevient normal alors
qu'avec l'evenement MouseDown la souris ne répondait plus...
Avec MouseUp et mon code VBA la boite de dial Excel apparait..et est
fonctionnelle.
Bon ceci dit l'affichage de la boite de dial "inserer un lien
hypertexte" ne donne rien car le lien inscrit dans la boite de dial ne
vient pas s'afficher dans la "Textbox"!!.J'ai du encore louper quelque
chose!!Je vais refaire un post dans le forum pour comprendre...!!
Encore Merci



Mishell a écrit :
Bonjour.

Place ton code dans l'événement MouseUp plutôt que dans MouseDown.

Mishell


"sab" news:
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.





Mishell
Le #16754201
Le lien inscrit dans la boite de dialogue s'affiche dans la
cellule active.
Pour le récupérer dans la Textbox1 :
.
zaza = Application.Dialogs(xlDialogInsertHyperlink).Show

If zaza = True Then
TextBox1.Value = ActiveCell.Value
End If


Mishell


"sab" news:
Bonjour,

Un grand Merci!! car en effet avec MouseUp tout redevient normal alors
qu'avec l'evenement MouseDown la souris ne répondait plus...
Avec MouseUp et mon code VBA la boite de dial Excel apparait..et est
fonctionnelle.
Bon ceci dit l'affichage de la boite de dial "inserer un lien hypertexte"
ne donne rien car le lien inscrit dans la boite de dial ne vient pas
s'afficher dans la "Textbox"!!.J'ai du encore louper quelque chose!!Je
vais refaire un post dans le forum pour comprendre...!!
Encore Merci



Mishell a écrit :
Bonjour.

Place ton code dans l'événement MouseUp plutôt que dans MouseDown.

Mishell


"sab" news:
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.









sab
Le #16754191
Merci Mishell

Je commence à comprendre (il serait temps..!!)
Mais gros probleme je ne veux surtout pas que le lien inscrit dans la
boite de dial s'inscrive dans la cellule active !!!(ni aucune autres!!)
,je veux simplement qu'il s'inscrive dans le Textbox qui a déclenché la
boite de dialogue....

Par la suite j'ai un controle "bouton de commande" : "SAISIE" qui
affecte toutes les textbox du formulaire dans des cellules specifiques
du tableau et qui décharge (Unload) le formulaire...

Mais est ce possible? ou y a t il un autre moyen?



Mishell a écrit :
Le lien inscrit dans la boite de dialogue s'affiche dans la
cellule active.
Pour le récupérer dans la Textbox1 :
.
zaza = Application.Dialogs(xlDialogInsertHyperlink).Show

If zaza = True Then
TextBox1.Value = ActiveCell.Value
End If


Mishell



Place ton code dans l'événement MouseUp plutôt que dans MouseDown.
Mishell


"sab" news:
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.











Mishell
Le #16754941
Application.Dialogs ne renvoie pas de valeur (autre que Vrai ou Faux). Il
faut donc récupérer le résultat dans une cellule.

Si tu recherches des liens uniquement vers des noms de fichiers, utilise
plutôt la fonction Application.GetOpenFilename

Exemple:
Sub ChoixFichier()
FichierChoisi = Application.GetOpenFilename
MsgBox FichierChoisi
End Sub

Mishell

"sab" news:
Merci Mishell

Je commence à comprendre (il serait temps..!!)
Mais gros probleme je ne veux surtout pas que le lien inscrit dans la
boite de dial s'inscrive dans la cellule active !!!(ni aucune autres!!)
,je veux simplement qu'il s'inscrive dans le Textbox qui a déclenché la
boite de dialogue....

Par la suite j'ai un controle "bouton de commande" : "SAISIE" qui affecte
toutes les textbox du formulaire dans des cellules specifiques du tableau
et qui décharge (Unload) le formulaire...

Mais est ce possible? ou y a t il un autre moyen?



Mishell a écrit :
Le lien inscrit dans la boite de dialogue s'affiche dans la
cellule active.
Pour le récupérer dans la Textbox1 :
.
zaza = Application.Dialogs(xlDialogInsertHyperlink).Show

If zaza = True Then
TextBox1.Value = ActiveCell.Value
End If


Mishell



Place ton code dans l'événement MouseUp plutôt que dans MouseDown.
Mishell


"sab" news:
bonjour,

Quand j'associe à une textbox d'un formulaire ce code à l'insertion du
click de la souris (mousedown)dans la text box:

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
Application.Dialogs(xlDialogInsertHyperlink).Show
End Sub

J'obtiens bien le résulta escompté : affichage de la fenetre "lien
hypertexte" de excel mais je ne peux rien faire tout se fige et seul
"Ctrl-Alt-Suppr" permet de fermer excel.















sab
Le #16759811
Bonsoir et encore un grand merci...

En effet Aplication.GetOpenFilename va bien me servir pour les liaisons
vers des noms de fichiers...
Mais j'ai un Textbox qui fait des liaisons vers des URLs et la
Application.Dialogs est plus agréable car on peut faire un
copier/coller de l'url et dans la partie "texte à afficher" ne mettre
qu'une toute petite partie pour qu'elle tienne dans une cellule car
quelques fois les URLS sont tres tres longues...

Une solution serait de rendre une cellule Active (de travail) en
lançant le formulaire qui recupererait le resultat avec
Textbox1value¬tivecellule.value

Que rajouter à cette petite macro pour qu'elle active la cellule T1 par
exemple avant de lancer l'userform: frmsaisie

Sub lanceFrmsaisie_Click()
frmsaisie.Show
End Sub





Mishell a écrit :
Application.Dialogs ne renvoie pas de valeur (autre que Vrai ou Faux). Il
faut donc récupérer le résultat dans une cellule.

Si tu recherches des liens uniquement vers des noms de fichiers, utilise
plutôt la fonction Application.GetOpenFilename

Exemple:
Sub ChoixFichier()
FichierChoisi = Application.GetOpenFilename
MsgBox FichierChoisi
End Sub



Mishell
Le #16760251
NomDeLaFeuille = "Feuil2"
Sheets(NomDeLaFeuille).Select
Sheets(NomDeLaFeuille).Range("T1").Select
zaza = Application.Dialogs(xlDialogInsertHyperlink).Show

If zaza = True Then
TextBox1.Value = ActiveCell.Value
End If

Mishell

"sab" news:
Bonsoir et encore un grand merci...

En effet Aplication.GetOpenFilename va bien me servir pour les liaisons
vers des noms de fichiers...
Mais j'ai un Textbox qui fait des liaisons vers des URLs et la
Application.Dialogs est plus agréable car on peut faire un copier/coller
de l'url et dans la partie "texte à afficher" ne mettre qu'une toute
petite partie pour qu'elle tienne dans une cellule car quelques fois les
URLS sont tres tres longues...

Une solution serait de rendre une cellule Active (de travail) en lançant
le formulaire qui recupererait le resultat avec
Textbox1value¬tivecellule.value

Que rajouter à cette petite macro pour qu'elle active la cellule T1 par
exemple avant de lancer l'userform: frmsaisie

Sub lanceFrmsaisie_Click()
frmsaisie.Show
End Sub





Mishell a écrit :
Application.Dialogs ne renvoie pas de valeur (autre que Vrai ou Faux). Il
faut donc récupérer le résultat dans une cellule.

Si tu recherches des liens uniquement vers des noms de fichiers, utilise
plutôt la fonction Application.GetOpenFilename

Exemple:
Sub ChoixFichier()
FichierChoisi = Application.GetOpenFilename
MsgBox FichierChoisi
End Sub







Publicité
Poster une réponse
Anonyme