Excel 2007 et macro

Bonjour à tous,

J'avais une macro qui fonctionnait parfaitement sous excel 2003.

Maintenant, au boulot, nous sommes passé à excel 2007.

Voici un bout de code qui me pose problème, (ce code se répète pour plusieurs image)

'Image OP20'

Dim Val1

Val1 = Sheets("CU7").[CZ17].Value

Dim val2 As String

val2 = ThisWorkbook.Path & "\Photos\"

Dim val3 As String

val3 = val2 & Val1 & ".jpg"

Range("BM17").Select

On Error GoTo erreur1

ActiveSheet.Pictures.Insert(val3).Select

Sous 2003 : selon la valeur de la case CZ17 de la feuille CU7, j'affiche l'image en case BM17 (a savoir le coin haut gauche de l'image était en BM17)

Sous 2007 : Il ne me met pas l'image en BM17, il met toutes les images (le coin haut gauche) au même endroit, à savoir en E4....

Que dois-je modifier pour afficher une image à un endroit bien précis sous excel 2007

Merci de votre précieuse aide

Salut le forum

Essaye en adaptant ceci

With ActiveSheet.Pictures.Insert(PicturePathAndFilename)
    .Left = ActiveSheet.Range(CellAddress).Left
    .Top = ActiveSheet.Range(CellAddress).Top
End With

Mytå

P.S. Merci d'utiliser la balise Code lorsque vous postez une procédure VBA.

Merci de ton aide !

Mais ça ne fonctionne pas, ça entre en conflit avec d'autre macros :s

Plutôt que de me lancer dans des explications confuses que personnes ne comprendra, je vous joins un fichier de démo avec toutes les explications nécessaires ! (après de zippage, le dossier photos doit être dans le même dossier que le fichier TEST)

Merci .

7test.zip (73.50 Ko)
6photos.zip (174.04 Ko)

Re le forum

ElectrO a écrit :

Mais ça ne fonctionne pas, ça entre en conflit avec d'autre macros

Tu devais faire des erreurs car le code suivant fonctionne très bien (Excel 2003 et 2007)

Sub FOPCU()
Dim Val16, Val17 As String, Val18 As String
Dim Val4, Val5 As String, Val6 As String

'Worksheets("CU7").Unprotect ("mdp")

Efface

'Caracteristique critique'

Val16 = Sheets("CU7").[CZ23].Value
Val17 = ThisWorkbook.Path & "\Photos\"
Val18 = Val17 & Val16 & ".png"

On Error GoTo erreur2
With ActiveSheet.Pictures.Insert(Val18)
  .Left = ActiveSheet.Range("E27").Left
  .Top = ActiveSheet.Range("E27").Top
End With

Val18 = Val17 & Val16 & ".png"

On Error GoTo erreur2
With ActiveSheet.Pictures.Insert(Val18)
  .Left = ActiveSheet.Range("E33").Left
  .Top = ActiveSheet.Range("E33").Top
End With

'Image OP10'

Val4 = Sheets("CU7").[CZ2].Value
Val5 = ThisWorkbook.Path & "\Photos\Outils\"
Val6 = Val5 & Val4 & ".jpg"

On Error GoTo erreur1
With ActiveSheet.Pictures.Insert(Val6)
  .Left = ActiveSheet.Range("BD2").Left
  .Top = ActiveSheet.Range("BD2").Top
End With

'Case sélectionnée à la fin de la macro'
Range("A13").Select

GoTo Fin
erreur1:
    MsgBox "   ATTENTION : Pas d'image de l'outil disponile !  "
erreur2:
    MsgBox "   ATTENTION : Manque CC !  "
Fin:

'Worksheets("CU7").Protect ("mdp")

End Sub

Mytå

Effectivement, quand on le fait bien, ça marche bien

(je suis un bon novice en macro.....mais à force, je vais bien finir par comprendre)

GROS GROS MERCI pour ton aide, vraiment sympa !

Rechercher des sujets similaires à "2007 macro"