Re : ouverture image en erreur
Bonjour Gilbert,
Ci dessous le code que j'ai actuellement
il y a surement des trucs bizarres !!!!!!
Merci
Lukos
Dim IM As Worksheet 'déclare la variable IM (Onglet Source)
Dim CAT As Worksheet 'déclare la variable CAT (Onglet Destination)
Dim NL As Long 'déclare la variable NL (Nombre de Lignes)
Dim i As Long 'déclare la variable I (Incrément)
Set IM = Sheets("IMPORT") 'définit l'onglet source IMPORT
Set CAT = Sheets("CAT") 'définit l'onglet destination CAT
TV = IM.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
NL = UBound(TV) 'définit le nombre de lignes NL du tableau des valeurs TV
For i = 2 To 2 'Copie ligne : sur toutes les lignes de import en partant de la seconde
Sheets("CAT").Select
Range("A3:F3").Select
Selection.Copy
Range("A4: A" & NL + 1).Select
ActiveSheet.Paste
Next i 'prochaine ligne de la boucle 1
' Affiche l'image en fonction de la valeur de r. Si r = - 1 affiche à gauche par ex.
Sheets("CAT").Select
Columns("C:C").Select
Const hDefaut = 100
Dim r As Long
Dim c As Range
r = 1
For Each c In Selection
img = c.Value
If img <> "" Then
c.RowHeight = 100 'fixer la hauteur de ligne
ActiveSheet.Pictures.Insert(img).Select 'ouverture image
With Selection.ShapeRange
.LockAspectRatio = msoTrue 'conserver les proportion
.IncrementTop (ActiveCell.Height - Selection.ShapeRange.Height) / 2
.Height = 84
If Height > 84 Then .Height = 60
If .Width > 210 Then .Width = 200
.Left = c.Offset(0, r).Left + 1 'déplacement d'autant de colonne que r =
.IncrementLeft (ActiveCell.Width - Selection.ShapeRange.Width) / 2
.Top = c.Top + 1 ' descente de l'image de 1 du haut de la cellule
End With
End If
Next c