Ma macro ne fonctionne plus sous excel 2010

Résolu/Fermé
chouchou91190 - 9 juil. 2012 à 14:30
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 10 juil. 2012 à 15:04
Bonjour,

J'utilisais une macro sous excel 2003 qui me permettait d'importer directement des photos par rapport au nom/prénom que je renseignais dans une fiche individuelle.
Nous sommes passés à la version 2010, et cette macro ne fonctionne pas. Je ne comprends pas pourquoi?

La voici:
Const Ss_dossier As String = "photo_staff" 'nom du sous dossier contenant les images
Const ref_cell As String = "$H$2" 'emplacement de la photo
' Michel_M Avril 2012

Sub incorporer_photo()
Dim design As String, cellule As Range
Dim image As Object

design = ThisWorkbook.Path & "\" & Ss_dossier & "\" & ActiveSheet.Range(ref_cell)
'prend en compte le format de la photo
If Dir(design & ".png") <> "" Then design = design & ".png"
If Dir(design & ".jpg") <> "" Then design = design & ".jpg"
If Dir(design & ".jpeg") <> "" Then design = design & ".jpeg"
If Dir(design & ".gif") <> "" Then design = design & ".gif"

'mémorise la photo à afficher
Set cellule = ActiveSheet.Range(ref_cell)
On Error GoTo absence 'photo non disponible
Set image = ActiveSheet.Pictures.Insert(design)
'insere la photo dans la fiche
With image.ShapeRange
.Top = cellule.Top + 2
.Left = cellule.Left + 1
.Name = "numphoto"
.Height = cellule.Height - 3
.Width = cellule.Width - 2
.LockAspectRatio = msoFalse 'garde les proportions de l'original
End With
Exit Sub

absence:
cellule = "photo non disponible"

End Sub

Auriez-vous une solution à m'apporter?
Je vous remercie par avance
Cordialement,
A voir également:

2 réponses

Le Pingou Messages postés 12139 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 17 septembre 2024 1 446
Modifié par Le Pingou le 9/07/2012 à 22:43
Bonjour,
Au passage, cette procédure de michel_m (salutations) fonctionne parfaitement sur la version 2010 ; je viens de faire un test.
C'est quoi qui ne marche pas, qu'elle est l'erreur ?

Salutations.
Le Pingou
0
chouchou91190
10 juil. 2012 à 11:23
Bonjour,

Merci à Michel_m évidemment et à vous pour le retour rapide.
L'erreur, c'est qu'il ne se passe rien...
Y a t-il des macros complémentaires à cocher?
Merci d'avance
0
chouchou91190
10 juil. 2012 à 12:07
Ça y est ça refonctionne!

Le problème provenait de l'extension du fichier

Fichier excel avec macro
2003: .xls
2010. xlsm / or nous l'avions enregistré en xlsx!

Par contre, nous rencontrons un nouveau problème, le fichier s'agrandit et nous nous retrouvons avec des personnes ayant le même nom du type (Durand pour ne pas les citer).
La macro permet de récupérer la photo du 1er Durand. Nous avons donc changé le nom des photos par des matricules à 8 chiffres, mais malheureusement, nous n'arrivons pas à modifier la macro actuelle pour prendre en compte le matricule, que faire?
Nous vous remercions par avance
cordialement,
0
Le Pingou Messages postés 12139 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 17 septembre 2024 1 446
10 juil. 2012 à 14:44
Bonjour,
En attendant michel_m, mettre un exemple des matricules, je regarderai si je peux vous dépanner.
0
chouchou91190
10 juil. 2012 à 14:58
Décidément, il suffit d'un post sur le forum pour que nous trouvions la solution. En effet, certains matricules commençaient avec un 0 et d'autres sans, le tri était donc perturbé, et la macro ne fonctionnait pas. Nous avons donc décidé d'enlever les 0 pour les matricules commençant par 0... tout bête...
Merci encore
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 305
10 juil. 2012 à 15:04
Bonjour

Comme quoi, il faut savoir attendre !!! :o)

Je retourne sous mon arbre écouter les cigales...
0