Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gestion des erreurs sur une macro

2 réponses
Avatar
jean-francois LEGRAS
Bonjour à tous,


J'ai un gros souci et ca serait vraiment génial si vous pouviez m'aider ;
j'ai une macro (ci-dessous) qui va chercher des images jpeg dans un dossier.
Le problème, c'est que lorsque la photo n'existe pas, la macro bug

Ca bloque à : "Range(cible).Select
'ActiveSheet.Pictures.Insert( _

' chemin) _"



Ce qu'il faudrait c'est que la macro "saute" la ligne. Est-ce possible ?



Merci beaucoup d'avance !!!!

Cordialement

JF



Sub ()

'

' test Macro

' Macro enregistrée le 24/05/2008 par ADMIN

'



'

For i = 267 To 1696

code = "A" & i

Range(code).Select

Source = ActiveCell.FormulaR1C1

' Range(code).Copy Source

chemin = "C:\Documents and Settings\lbonnefoy\My Documents\Photos cat
2009\" & Source & ".jpg"

cible = "G" & i

Range(cible).Select

'ActiveSheet.Pictures.Insert( _

' chemin) _

' .Select

ActiveSheet.Pictures.Insert(chemin).Select

Selection.ShapeRange.ScaleWidth 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.ScaleHeight 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 1.5

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 0.75

Next

End Sub

2 réponses

Avatar
Mgr T. Banni
bonjour jf
tu écris sur la ligne au-dessus de "Range(cible).Select...

On Error Resume Next

HTH
Mgr T.B.

"jean-francois LEGRAS" a écrit dans le message de news:
%232vz%

Bonjour à tous,


J'ai un gros souci et ca serait vraiment génial si vous pouviez m'aider ;
j'ai une macro (ci-dessous) qui va chercher des images jpeg dans un
dossier. Le problème, c'est que lorsque la photo n'existe pas, la macro
bug

Ca bloque à : "Range(cible).Select
'ActiveSheet.Pictures.Insert( _

' chemin) _"



Ce qu'il faudrait c'est que la macro "saute" la ligne. Est-ce possible ?



Merci beaucoup d'avance !!!!

Cordialement

JF



Sub ()

'

' test Macro

' Macro enregistrée le 24/05/2008 par ADMIN

'



'

For i = 267 To 1696

code = "A" & i

Range(code).Select

Source = ActiveCell.FormulaR1C1

' Range(code).Copy Source

chemin = "C:Documents and SettingslbonnefoyMy DocumentsPhotos cat
2009" & Source & ".jpg"

cible = "G" & i

Range(cible).Select

'ActiveSheet.Pictures.Insert( _

' chemin) _

' .Select

ActiveSheet.Pictures.Insert(chemin).Select

Selection.ShapeRange.ScaleWidth 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.ScaleHeight 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 1.5

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 0.75

Next

End Sub



Avatar
michdenis
'---------------------------------------
Sub test()
Dim Chemin As String, Source As string
'Variable contenant le chemin de tes photos
Chemin = "C:Documents and SettingslbonnefoyMy DocumentsPhotos cat 2009"
'Adapte selon le nom de ta feuille
With Worksheets("Feuil1")
For I = 267 To 1696
'Source = Chemin complet de la photo
Source = Chemin & .Range("A" & I) & "jpg"
'Si le chemin ou la photo n'existe pas
' rien ne se passe, on va à la suivante
If Dir(Source) <> "" Then
'si le chemin existe, on insère la photo En Gx
'au dimension de la cellule Gx
InsérerImage .Name, .Range("G" & I), Source
End If
Next
End With
End Sub
'---------------------------------------
Sub InsérerImage(Feuille As String, RgImage As Range, NomImage As String)
Dim Rg As Range
Set Rg = Worksheets(Feuille).Range(RgImage.Address)
With Rg
Largeur = .Offset(, 1)(, .Columns.Count).Left - .Left
Hauteur = .Offset(.Rows.Count).Top - .Item(1).Top
Set Image = Worksheets(Feuille).Pictures.Insert(NomImage)
End With
With Image
.Left = Rg.Left
.Top = Rg.Top
'Largeur de l'image
Image.Width = Largeur
'Hauteur de l'image
Image.Height = Hauteur
'Est-ce que l'image doit se déplacer avec les cellules
'voici les 3 constantes possibles
.Placement = xlFreeFloating 'or xlmove or xlMoveAndSize
'Verrouillé ou pas
.Locked = True 'or False
End With
Set Rg = Nothing
End Sub
'---------------------------------------



"jean-francois LEGRAS" a écrit dans le message de groupe de
discussion : #2vz#

Bonjour à tous,


J'ai un gros souci et ca serait vraiment génial si vous pouviez m'aider ;
j'ai une macro (ci-dessous) qui va chercher des images jpeg dans un dossier.
Le problème, c'est que lorsque la photo n'existe pas, la macro bug

Ca bloque à : "Range(cible).Select
'ActiveSheet.Pictures.Insert( _

' chemin) _"



Ce qu'il faudrait c'est que la macro "saute" la ligne. Est-ce possible ?



Merci beaucoup d'avance !!!!

Cordialement

JF



Sub ()

'

' test Macro

' Macro enregistrée le 24/05/2008 par ADMIN

'



'

For i = 267 To 1696

code = "A" & i

Range(code).Select

Source = ActiveCell.FormulaR1C1

' Range(code).Copy Source

chemin = "C:Documents and SettingslbonnefoyMy DocumentsPhotos cat
2009" & Source & ".jpg"

cible = "G" & i

Range(cible).Select

'ActiveSheet.Pictures.Insert( _

' chemin) _

' .Select

ActiveSheet.Pictures.Insert(chemin).Select

Selection.ShapeRange.ScaleWidth 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.ScaleHeight 0.24, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 1.5

Selection.ShapeRange.IncrementLeft 0.75

Selection.ShapeRange.IncrementLeft 0.75

Next

End Sub