Ma macro ne fonctionne plus sous excel 2010
Résolu
chouchou91190
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
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,
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:
- Ma macro ne fonctionne plus sous excel 2010
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
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
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
Bonjour,
En attendant michel_m, mettre un exemple des matricules, je regarderai si je peux vous dépanner.
En attendant michel_m, mettre un exemple des matricules, je regarderai si je peux vous dépanner.
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
Merci encore
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
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,