Ovomaltine94
Messages postés2Date d'inscriptionmercredi 22 octobre 2008StatutMembreDernière intervention23 octobre 2008
-
22 oct. 2008 à 21:20
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
23 oct. 2008 à 15:32
Bonjour à tous,
Autant vous le dire tout de suite, je n'y connais absolument rien en Visual Basic, mais bon j'essaie de me débrouiller...
J'ai crée un bouton de commande sur un feuille excel et je souhaiterais que celui-ci me permette en cliquant dessus d'afficher la boîte "parcourir" pour aller chercher une photo sur un serveur ou autre, et qu'ensuite, une fois la photo choisie, qu'elle s'insère à un endroit précis dans des cellules prédéfinies sur ma feuille
Non non !!! ne reposte pas ailleurs on continu malgré tout avec celui-ci !
Sub TuVeuxMaPhoto()
Dim FdFp As FileDialog, MaCellule As Range, Ratio As Double, HauteurPhoto As Double
HauteurPhoto = 72
Set MaCellule = ActiveCell.Cells(1)
Set FdFp = Application.FileDialog(msoFileDialogFilePicker)
With FdFp
.AllowMultiSelect = False
.Filters.Add "Images", "*.bmp; *.gif; *.jpg; *.jpeg"
If .Show = -1 Then
'ce qui suit permet de respecter le ratio hauteur/largeur en fonction de la hauteur finale voulu
'et ceci tout en tenant compte de l'echelle specifique de la largeur d'une cellule.
'Les dimensions de la photo seront alors completement adapter a la cellule active
ActiveSheet.Pictures.Insert(.SelectedItems(1)).Select
With Selection
Ratio = .ShapeRange.Height / .ShapeRange.Width
MaCellule.RowHeight = HauteurPhoto
MaCellule.ColumnWidth = (MaCellule.ColumnWidth / MaCellule.Columns.Width) * HauteurPhoto * Ratio
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = HauteurPhoto
.ShapeRange.Width = HauteurPhoto * Ratio
.Placement = xlMoveAndSize
End With
End If
End With
Set FdFp = Nothing
End Sub
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 23 oct. 2008 à 00:29
oups ...
[../auteur/PCPT/401740.aspx PCPT] : Salut tu es deja passe par la a ce que je vois
bon ben [../auteur/OVOMALTINE94/1504796.aspx Ovomaltine94]maintenant tu es dans le bon theme... on dit merci [../auteur/PCPT/401740.aspx PCPT] et on sourit
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 23 oct. 2008 à 15:32
Salut,
ben il faut chercher un petit peu car ce n'esr vraiment pas complique. Suivant quel critere(s) tu veux inserer les photo ?
Dans tout les cas l'insertiont ce fait sur la cellule active. Donc il faut adapter le code pour activé la cellule qui doit recevoir la photo.
j'ai corrige la ligne en bleu dans le code car le ratio n'était pas respecté
Sub TuVeuxMaPhoto()
Dim FdFp As FileDialog, MaCellule As Range, Ratio As Double, HauteurPhoto As Double
HauteurPhoto = 72
Set MaCellule = ActiveCell.Cells(1)
Set FdFp = Application.FileDialog(msoFileDialogFilePicker)
With FdFp
.AllowMultiSelect = False
.Filters.Add "Images", "*.bmp; *.gif; *.jpg; *.jpeg"
If .Show = -1 Then
'ce qui suit permet de respecter le ratio hauteur/largeur en fonction de la hauteur finale voulu
'et ceci tout en tenant compte de l'echelle specifique de la largeur d'une cellule.
'Les dimensions de la photo sera alors completement adapter a la cellule active
ActiveSheet.Pictures.Insert(.SelectedItems(1)).Select
With Selection
Ratio = .ShapeRange.Width / .ShapeRange.Height
MaCellule.RowHeight = HauteurPhoto
MaCellule.ColumnWidth = (MaCellule.ColumnWidth / MaCellule.Columns.Width) * HauteurPhoto * Ratio
.ShapeRange.LockAspectRatio = msoFalse
.ShapeRange.Height = HauteurPhoto
.ShapeRange.Width = HauteurPhoto * Ratio
.Placement = xlMoveAndSize
End With
End If
End With
Set FdFp = Nothing