Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Insertion d'une pièce jointe dans une cellule excel via Userform

Bil12

XLDnaute Nouveau
Bonjour;

J'ai créer deux boutons le premier pour la sélection (parcourir) l'endroit du fichier :

Private Sub CommandButton4_Click()
fileToOpen = Application.GetOpenFilename("All Files (*.*), *.*")
TextBox12 = fileToOpen
End Sub


et le deuxième pour l'insertion; mais le deuxième ne marche pas; voila mon code : (il passe toujours a la deuxiéme phase et il m'écrit "Pas de fichier sélectionné")

Private Sub CommandButton2_Click()

Dim OLEobj As OLEObject
Dim Gauche As Double, HautTop As Double, Largeur As Double, Hauteur As Double

Range("G" & J).Select
Gauche = Range("G" & J).Left
HautTop = Range("G" & J).Top
Largeur = Range("G" & J).Width
Hauteur = Range("G" & J).Height

If fileToOpen <> "" Then
Set OLEobj = ActiveSheet.OLEObjects.Add(Filename:=fileToOpen, Link:=False, DisplayAsIcon:=True, IconIndex:=0, IconLabel:=fileToOpen)
'OLEobj.Name = "LeFichier"
OLEobj.Left = Gauche
OLEobj.Top = HautTop
OLEobj.Width = Largeur
OLEobj.Height = Hauteur
Else
MsgBox "pas de fichier sélectionné"
End If

fileToOpen = ""
Unload Me

End Sub

Merci
 

job75

XLDnaute Barbatruc
Bonjour Bil12,

Où est définie la variable J ? Sans cette définition il y a bug bien sûr.

La variable fileToOpen doit être déclarée en haut du module de l'UserForm et sa définition est à modifier :
Code:
Dim fileToOpen As Variant 'mémorise la variable

Private Sub CommandButton4_Click()
fileToOpen = Application.GetOpenFilename("All Files (*.*), *.*")
fileToOpen = IIf(TypeName(fileToOpen) = "String", fileToOpen, "")
TextBox12 = fileToOpen
End Sub
Quant à l'objet créé il est normalement proportionnel à l'image d'origine.

Donc ne définir qu'une des 2 dimensions.

A+
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…