[VBA] Mettre une image partiellement

Mettre une image partiellement [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 05-02-2007 à 22:07:26    

Bonjour,
 
je suis débutant en VBA et ne suis pas personne accrue a l'utilisation avancée d'excel.
 
cependant, je recherche à inclure une image sur juste une partie d'une feuille excel. Actuellement j'y arrive mais l'image s'étale sur toute ma feuille en se repetant. comment faire ?
 
Merci de votre aide.

Reply

Marsh Posté le 05-02-2007 à 22:07:26   

Reply

Marsh Posté le 06-02-2007 à 07:42:19    

Bonjour,
Comment fais-tu pour insérer?
est-ce avec:
ActiveSheet.Pictures.Insert( .......        ).Select
si oui, pour réduire:
0.82 étant le facteur de réduction
 
Selection.ShapeRange.ScaleHeight 0.82, msoFalse, msoScaleFromTopLeft

Reply

Marsh Posté le 06-02-2007 à 08:41:36    

Merci de ta réponse seniorpapou,
 
je viens de me rendre compte que j'avais oublié de préciser un détail qui doit avoir son poid d'importance ...
 
Cette image, je voudrais qu'elle soit en arrière plan et nomn insérée en tant qu'image standard.
 
merci
 

Reply

Marsh Posté le 06-02-2007 à 18:35:08    

Bonsoir,
sans parler VBA, voici une méthode que j'avais récupérée il y a quelque temps sur un Comment ajouter une image de fond à un tableau :  
A/  
1 Les cellules du tableau doivent avoir un motif : Aucun motif  
(pour que l'image puise se voir en arrière plan par la suite.)  
2 Sélectionne ton tableau puis fait crtl + c (copier)  
3 Sélectionne la destination de ton tableau, puis fait :  
 
MAJ + Menu Edition > coller l'image avec liaison  
Ton tableau est maintenant coller avec liaison. (tu peux essayer de modifier l'original et voir que le tableau coller fait de même)  
B/  
1 Faire Menu Insertion > Image > À partir du fichier...  
Sélectionne ton image, puis clique bouton Insérer  
2 Fait clique droit sur l'image, Format de l'image...  
Onglet dimension (vérifie si Proportionnel est cocher)  
Fait diminuer ou augmenter la taille de l'image avec les curseurs. puis OK  
3 Tu peux maintenant faire varier la taille de ton image avec le coin de la photo  
que tu tire avec la souris. Et la positionner où tu le souhaite.  
4 Fait clique droit dessus puis Ordre > Arrière-plan  
Tu peux aussi faire Menu Outils > Options… > Onglet Affichage > Quadrillage que tu décoche  
Pour ne pas voir les traits des cellules.  
5 Tu peux faire clique droit puis Afficher la barre d'outils image> icône contrôle de l'image  
Fais Niveaux de gris puis Filigrane  
site:

Reply

Marsh Posté le 06-02-2007 à 22:25:16    

Je viens de tester et sa fonctionne. Merci beaucoup seniorpapou.
 
Est-ce que c'est possible d'automatiser cela c'est à dire de demander au démarrage d'un fichier (un fichier excel préparé comme si bien expliqué) de sélectionner le chemin d'une image et qu'il fasse cela tout seul après ?
 
Merci :)

Reply

Marsh Posté le 07-02-2007 à 07:20:49    

Bonjour,
voici ce que l'on obtient en réalisant la séquence indiquée après avoir demandé d'enregistrer une Macro:
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 07/02/2007 par PAPOU
'
 
'
    Range("L1:N5" ).Select
    Selection.Copy
     
    Range("A1" ).Select
    ActiveSheet.Pictures.Paste(Link:=True).Select
    Application.CutCopyMode = False
    ActiveSheet.Pictures.Insert( _
        "C:\Documents and Settings\ENFANTS_2\Mes documents\Mes images\miaou_0002.jpg" ).Select
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 173.25
    Selection.ShapeRange.Width = 230.25
    Selection.ShapeRange.Rotation = 0#
    Selection.ShapeRange.PictureFormat.Brightness = 0.85
    Selection.ShapeRange.PictureFormat.Contrast = 0.15
    Selection.ShapeRange.PictureFormat.CropLeft = 0#
    Selection.ShapeRange.PictureFormat.CropRight = 0#
    Selection.ShapeRange.PictureFormat.CropTop = 0#
    Selection.ShapeRange.PictureFormat.CropBottom = 0#
    Selection.ShapeRange.ZOrder msoSendToBack
End Sub
Cordialement

Reply

Marsh Posté le 07-02-2007 à 08:27:20    

Je vais tester sa et tacher de me servir de l'enregistrement de macros  pour me guider dans le code à utiliser :)
 
Merci beaucoup our ton interessement à ce post

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed