XL 2010 Modification de la taille d'une icone et "Si présence"

Laosurlamontagne

XLDnaute Occasionnel
Bonjour à tous,

J'utilise la fonction suivante pour insérer un fichier sous forme d'icone:

VB:
Application.Dialogs(xlDialogInsertObject).Show

Simple et efficace, néanmoins, je trouve l'icone trop grosse. Auriez-vous une idée pour modifier (par macro) sa taille et éventuellement la couleur du fond et son contour?

J'ai une autre question: existerait-il une commande VB qui me permettrait de vérifier si un objet est présent sur telle ou telle cellule? Dans mon cas, la commande précédente m’insère le fichier sur la dernière cellule sélectionnée, disons B10, et je voudrais vérifier que le fichier soit bien présent...

Auriez-vous des idées?
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Laosurlamontagne :)

Là tu demande trop. Sinon regarde ici si tu touve ton bonheur

Sinon je te propose ce fichier. Une fois l'icône créé, clique sur l'icône pour afficher le classeur.

Et pour verifier l'existance d'un fichier


VB:
Public Function FichierExiste(S As String) As Boolean
Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    FichierExiste = fso.FileExists(S)
End Function


Sub Test()
Dim Fichier$

Fichier = "C:\Mes documents\Classeur1.xls"
If FichierExiste(Fichier) then _
MsgBox "Vous lui voulez quoi ?", vbInformation, "Le fichier est bien vivant."
Else
MsgBox "Vous voulez l'appelez ?", vbExclamation, "Le fichier est mort."
End If
End Sub
 

Pièces jointes

  • Créer raccourci avec icône.zip
    62.9 KB · Affichages: 26
Dernière édition:

PMO2

XLDnaute Accro
Bonjour,

Une autre approche et on oublie Application.Dialogs(xlDialogInsertObject).Show
Copiez le code suivant dans un module standard :
VB:
Sub aa()
Dim Reponse As Variant
Dim FileName$
Dim SH As Shape
'--- Choix d'un fichier ---
Reponse = Application.GetOpenFilename( _
    FileFilter:="Tout fichier (*.*), *.*", _
    Title:="Insérer un fichier sous forme d'icône dans la cellule active")
If Reponse = False Then Exit Sub
FileName$ = Mid(Reponse, InStrRev(Reponse, "\") + 1)
'--- Le fichier est-il déjà présent ? ---
On Error Resume Next
For Each SH In ActiveSheet.Shapes
  If SH.AlternativeText = Reponse Then
    Range(SH.TopLeftCell.Address).Select
    MsgBox prompt:="Le fichier ''" & Reponse & "'' existe déjà" & vbLf & _
          " en cellule " & SH.TopLeftCell.Address(False, False), _
          Title:="Le fichier sous forme d'icône existe déjà"
    Exit Sub
  End If
Next SH
On Error GoTo 0

Application.ScreenUpdating = False
'--- Crée la Shape ---
Set SH = ActiveSheet.Shapes.AddOLEObject( _
    FileName:=Reponse, DisplayAsIcon:=True, _
    IconFileName:=Application.Path & "\" & "excel.exe", _
    IconIndex:=10, IconLabel:=FileName$)
'--- Propriétés de la Shape ---
SH.AlternativeText = Reponse  'Identificateur unique
SH.TopLeftCell = ActiveCell   'Localisation sur cellule
    '°°° Taille °°°
SH.Width = 40
SH.Height = 40
    '°°° Couleur du fonds °°°
SH.Fill.ForeColor.RGB = vbYellow
    '°°° Contour °°°
SH.Line.ForeColor.RGB = vbRed
SH.Line.Weight = 1.75
'---
Application.ScreenUpdating = True
End Sub
Modifiez taille et couleur dans les parties indiquées par des °°°
 

Pièces jointes

  • Insertion fichier sous forme d'icône - Modifier taille et couleur.xlsm
    20.6 KB · Affichages: 42

Laosurlamontagne

XLDnaute Occasionnel
Coucou à tous,

Je re-ouvre ce fil avec une question encore bien tordue. La macro de PMO2 est excellente et je voudrais encore l'affiner.

L'icone est "posée" sur la dernière cellule sélectionnée, facile. Cependant, serait-il possible de positionner l’icône sur une zone identifiée, par exemple un "label" ou une image (intégrée par "Developpeur" -> "Insérer" -> ...)?
 

PMO2

XLDnaute Accro
L'icone est "posée" sur la dernière cellule sélectionnée, facile. Cependant, serait-il possible de positionner l’icône sur une zone identifiée, par exemple un "label" ou une image (intégrée par "Developpeur" -> "Insérer

Cela dépend s'il s'agit d'un "Contrôle de formulaire" ou d'un "Contrôle ActiveX".
Les contrôles cités (Label, Image) appartiennent à quelle catégorie ?
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 083
Membres
103 114
dernier inscrit
sylvainb6969