Macro incompatible avec Excel 2007

romain95

XLDnaute Nouveau
Bonjour,

J'ai une macro que j'ai créée sous Excel 2003 mais qui est incompatible avec Excel 2007.
J'ai désactivé les sécurités, télécharger un pack de compatibilité, mais rien n'y fait.
Je crois que la seule option est de modifier le code.

Le voici :

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Val As String
Dim MyCell As Range
Dim MyPicture As Picture
Dim Pict

On Error GoTo errorhandler
Application.ScreenUpdating = False

Val = Target.Value

With Application.FileSearch
.NewSearch
.Filename = ".jpg"
.LookIn = ThisWorkbook.Path
.SearchSubFolders = False
.Execute msoSortByFileName, msoSortOrderAscending

If .Execute > 0 Then
Set MyCell = Target.Offset(0, 1)
MyCell.Select

For Each Pict In ActiveSheet.DrawingObjects ' supprimer ancienne image dans cellule
If Pict.Left = MyCell.Left And Pict.Top = MyCell.Top Then Pict.Delete
Next

Set MyPicture = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Val & ".jpg")
With MyPicture.ShapeRange
.LockAspectRatio = msoFalse
.Height = MyCell.Height
.Width = MyCell.Width
End With
MyCell.Select
End If

End With
Application.ScreenUpdating = True
Exit Sub
errorhandler:
Application.ScreenUpdating = True
Exit Sub
End Sub


Si quelqu'un peut me dire exactement ce qu'il y a à modifier se serait super cool.

Cordialement,

Romain
 

Roland_M

XLDnaute Barbatruc
Re : Macro incompatible avec Excel 2007

re

alors je pense que c'est dû au zoom des feuilles !
car j'ai essayé et ça fonctionne sous 2007 !

question :
tes feuilles sont toutes en Zoom 100% ?

EDIT : autre question
tu fais bien un copier/coller de cette macro dans le code de chaque feuille ?
 
Dernière édition:

romain95

XLDnaute Nouveau
Re : Macro incompatible avec Excel 2007

Oui Roland, je fais bien un copier coller de la macro dans chacune des feuilles concernées.

J'ai supprimer la macro de chacune des deux feuilles et je l'ai collée de nouveau et là la situation à changer pour un des onglets. Tout fonctionne pour l'onglet qui reprend les images de l'exemple que je t'avais posté ("lever debout"; "lever assis"...)

Mais pour l'autre onglet où les images sont différentes, j'ai toujours ce souci de superposition et de non effacement des images (j'ai testé zoom à 100% mais rien n'y fait). Ces images ont des noms qui contiennent des chiffres et des caractères spéciaux (des "°"). Par exemple : "Flexion comprise entre 0° et 45°".
Est ce que ces caractères spéciaux peuvent être une des causes du non effacement?

Cordialement,

Romain
 

romain95

XLDnaute Nouveau
Re : Macro incompatible avec Excel 2007

re

OK je viens de comprendre un truc.
Sur l'onglet 1 (pour lequel j'ai collé la macro en premier) qui fonctionne, j'ai une taille de cellule Target (réceptionnant l'image) de 124 pixels de largeur et de 96 pixels de hauteur.

Dans l'onglet 2 pour lequel l'effacement ne fonctionnait pas, j'avais une taille de cellule Target différente.

Lorsque je mets la même taille de cellule target aux 2 onglets, tout fonctionne.

Alors, question simple : est il possible que les deux macro fonctionnent avec deux tailles de cellules différentes???

Cordialement,

Romain
 

Discussions similaires

Statistiques des forums

Discussions
314 656
Messages
2 111 607
Membres
111 218
dernier inscrit
Jean-Kev