Recherche pour boucle dans une macro VBA
Résolu/FerméRoMa - 9 févr. 2023 à 21:23
- Recherche pour boucle dans une macro VBA
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Macro word - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Comment faire une recherche à partir d'une photo - Guide
4 réponses
Bonsoir,
Pourquoi ne pas tout simplement tester l'existence du fichier avant de faire l’insertion :
If Dir(cel.Value) <> "" Then ' Si le fichier existe Set image = ActiveSheet.Pictures.Insert(cel.Value) With image .ShapeRange.LockAspectRatio = msoTrue .Width = cel.Offset(0, 2).Width .Height = cel.Offset(0, 2).Height .Left = cel.Offset(0, 2).Left .Top = cel.Offset(0, 2).Top End With End If
Cdt
8 févr. 2023 à 17:05
bonjour,
j'imagine que la macro s'arrete avec un message d'erreur?
quand tu partages du code, merci de tenir compte de ceci: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Suggestion pour continuer en cas d'erreur:
Sub LinkToImage() For Each cel In Selection cel.Offset(0, 2).Select cel.Offset(0, 2).RowHeight = 100 cel.Offset(0, 2).ColumnWidth = 40 on error goto suivant Set image = ActiveSheet.Pictures.Insert(cel.Value) With image .ShapeRange.LockAspectRatio = msoTrue .Width = cel.Offset(0, 2).Width .Height = cel.Offset(0, 2).Height .Left = cel.Offset(0, 2).Left .Top = cel.Offset(0, 2).Top End With suivant: on error goto 0 Next cel End Sub
8 févr. 2023 à 17:19
Bonjour yg_be,
Merci beaucoup pour votre remarque concernant le partage des codes.
Je tenais également à vous remercier pour votre idée de l'ajout de la fonction "on error go to".
Malheureusement le message d'erreur 1004 continue de revenir en cas d'absence de la photo cherchée sous prétexte qu'il est : "Impossible de lire la propriété Insert de la classe Pictures."
Cordialement,
Alex
8 févr. 2023 à 18:16
plutôt ainsi:
Sub LinkToImage() For Each cel In Selection cel.Offset(0, 2).Select cel.Offset(0, 2).RowHeight = 100 cel.Offset(0, 2).ColumnWidth = 40 on error goto oups Set image = ActiveSheet.Pictures.Insert(cel.Value) With image .ShapeRange.LockAspectRatio = msoTrue .Width = cel.Offset(0, 2).Width .Height = cel.Offset(0, 2).Height .Left = cel.Offset(0, 2).Left .Top = cel.Offset(0, 2).Top End With suivant: on error goto 0 Next cel Exit Sub oups: Resume suivant End Sub
9 févr. 2023 à 10:14
Bonjour yg_be,
Merci beaucoup pour votre nouveau message. Tout est à présent parfait !
Pour ne pas trop vous prendre de temps je vais regarder de mon côté afin de comprendre comment votre ajout fonctionne.
Bonjour RoMa,
Merci également pour votre aide. je vais également essayer votre code.
Cordialement,
Marc
9 févr. 2023 à 11:32
Peut-être parce que l'existence du fichier ne garantit pas que l'insertion va bien se passer?
9 févr. 2023 à 21:23
Peut-être mais puisqu'on sait que l'absence de l'image va provoquer systématiquement une erreur, autant éliminer ce cas avec un simple test.