affecter une macro a un commandbutton

  • Initiateur de la discussion violaine
  • Date de début
V

violaine

Guest
bonjour le forum

j ai toujours le meme probleme
je n arrive pas a affecter une macro a un command button qui se trouve dans une userform
en fait j'ai crée ma macro qui fonctionne
au lieu d affecter ma macro a un bouton present dans une feuille excel je souhaite l'affecter a un bouton qui se trouve dans une userform

lorsque s'execute ma macro seule elle me place l'image au bonne endroit mais qd je l'affecte a mon bouton elle ne me met pas l'image dans la bonne feuille

voici ma macro seule:

Sub essaidessin()
'
' essaidessin Macro
' Macro enregistrée le 06/04/2005 par Valeo
'
Dim Val1
Val1 = Sheets('feuille outillage').[H2].Value
Dim val2 As String
val2 = 'F:\\UAP Mécanismes\\Usinage\\VIOLAINE\\USINAGE\\base de donnees fo\\BASE FO\\photo pour essai\\'
Dim val3 As String
val3 = val2 & Val1 & '.jpg'
Range('S8').Select
On Error GoTo erreur
ActiveSheet.Pictures.Insert(val3) _
.Select

Selection.ShapeRange.IncrementLeft -25.5
Selection.ShapeRange.IncrementTop -59.25
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 10
Selection.ShapeRange.Width = 483.75
Selection.ShapeRange.Rotation = 0#
Selection.ShapeRange.IncrementLeft 15#
Selection.ShapeRange.IncrementTop -7.5
Selection.ShapeRange.IncrementLeft 10
Selection.ShapeRange.IncrementTop 6#

GoTo Fin
erreur:
MsgBox ' IMAGE FRICTION INCONNUE. Vérifier si la photo ('référence dans la cellule B3'.jpg) est dans le répertoire : G:\\Process\\conditionnement\\PHOTOS\\kit\\ '
Fin:
Exit Sub
'
End Sub



voici avec le bouton

Private Sub CommandButton2_Click()

'Sheets('feuille outillage').Range('H2').Value = TextBox1.Value

Dim Val1
Val1 = Sheets('feuille outillage').[H2].Value
Dim val2 As String
val2 = 'F:\\UAP Mécanismes\\Usinage\\VIOLAINE\\USINAGE\\base de donnees fo\\BASE FO\\photo pour essai\\'
Dim val3 As String
val3 = val2 & Val1 & '.jpg'
Range('S8').Select
On Error GoTo erreur
ActiveSheet.Pictures.Insert(val3) _
.Select

Selection.ShapeRange.IncrementLeft -25.5
Selection.ShapeRange.IncrementTop -59.25
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 10
Selection.ShapeRange.Width = 483.75
Selection.ShapeRange.Rotation = 0#
Selection.ShapeRange.IncrementLeft 15#
Selection.ShapeRange.IncrementTop -7.5
Selection.ShapeRange.IncrementLeft 10
Selection.ShapeRange.IncrementTop 6#

GoTo Fin
erreur:
MsgBox ' IMAGE FRICTION INCONNUE. Vérifier si la photo ('référence dans la cellule B3'.jpg) est dans le répertoire : G:\\Process\\conditionnement\\PHOTOS\\kit\\ '
Fin:
Exit Sub

'End
End Sub


merci pour votre aide
 

Abel

XLDnaute Accro
Bonjour violaine,

Essaie en ajoutant une ligne en tête de ton module standart :
Code:
Public val1, val2, val3 as String

Et supprime ou mets une apostrophe devant quelques lignes :

Code:
'Dim Val1
'Dim Val2
'Dim Val3

Je n'ai pas testé mais à la lecture de ton code, c'est ce qui me parait pouvoir gèner.

Je ne connais pas non plus la syntaxe :
Val1 = Sheets('feuille outillage').[H2].Value

Essaie plutôt :
Val1 = Sheets('feuille outillage').Range('H2').Value
Si c'est la valeur de la cellule H2 que tu cherches à retourner.

Je n'ai pas la science infuse, alors si d'aucun observe d'autres 'erreurs' ...

En espérant que cela te dépanne.

Abel.
 

G.David

XLDnaute Impliqué
Bon
A premiere vue tu as une feuille d'image
et une feuille pour visionner ces images
je te conseillerais de faire un tour sur le site Veriti
il y a une demo à télécharger sur ce theme et sans macro il me semble ce doit etre un rechercheV qui cible l'image et le cadre de reception est referencé par un =imgageN°
à voir
Cordialement
G.David
 

Abel

XLDnaute Accro
violaine écrit:
.......au lieu d affecter ma macro a un bouton present dans une feuille excel je souhaite l'affecter a un bouton qui se trouve dans une userform .....

.....ActiveSheet.Pictures.Insert(val3) _
.Select

Qu'elle est la feuille active lorsque tu cliques sur le bouton dans le formulaire ?

Car dans le code, l'image est chargée dans la feuille active. Cela vient peut être de là.

Si tu le peux, mets nous ton fichier en pièce jointe.

Débarrasse le des données que nous n'avons pas besoin de voir.
50 ko maxi et zippé (*.zip en minuscules) sans accents ni autres caractères spéciaux dans le nom.

Abel.
 

Statistiques des forums

Discussions
312 508
Messages
2 089 137
Membres
104 046
dernier inscrit
ouiza