XL 2016 Erreur 1004 - Erreur définie par l'application ou par l'objet

Philou0607

XLDnaute Nouveau
Bonjour à tous,
Novice en VBA, j'ai une erreur 1004 lorsque je lance la macro suivante :

Sub EnvoiMailCertifHS()
'
' EnvoiMailCertifHS Macro
'

'
ActiveCell.Offset(1, 1).Range("A1").Select
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 7")).Select
ActiveCell.Offset(-1, -2).Range("A1").Select
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveCell.Offset(0, -5).Columns("A:A").EntireColumn.ColumnWidth = 24.08
ActiveCell.Offset(2, -3).Range("A1").Select
ActiveSheet.Shapes.Range(Array("Picture 1")).Select
Selection.OnAction = "Fichier"
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
Selection.OnAction = "Fichier"
ActiveCell.Offset(-7, -2).Range("A1").Select
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$I$2"), , xlYes).Name = _
"Tableau3"
ActiveCell.Offset(1, 0).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveCell.Offset(0, 7).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
Selection.ClearContents
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
ActiveWindow.Zoom = 90
ActiveWindow.Zoom = 80
ActiveCell.Offset(0, -7).Columns("A:A").EntireColumn.ColumnWidth = 27.23
ActiveCell.Offset(11, -2).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveSheet.Shapes.Range(Array("Picture 1")).Select
Selection.OnAction = "Fichier"
ActiveCell.Offset(-8, 1).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
ActiveCell.Offset(1, 1).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
Application.Goto Reference:="Fichier"
ActiveCell.Offset(-4, -7).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveCell.Offset(0, 1).Columns("A:A").EntireColumn.ColumnWidth = 24.08
ActiveCell.Columns("A:B").EntireColumn.Select
Selection.ColumnWidth = 29.69
ActiveCell.Offset(1, 3).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveCell.FormulaR1C1 = "TEST"
ActiveCell.Offset(0, 1).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveCell.FormulaR1C1 = "Essai fichier envoyer mail"
ActiveCell.Offset(4, 2).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveSheet.Shapes.Range(Array("Picture 2")).Select
Selection.ShapeRange.IncrementLeft 3.75
ActiveCell.Offset(7, 2).Range("Tableau3[[#Headers],[Adresse Mail]]").Select
ActiveWorkbook.Save
ActiveWorkbook.Save
ActiveWorkbook.Save
ActiveWorkbook.Save
ActiveWorkbook.Save
ActiveWorkbook.Save
End Sub

Apparemment c'est la ligne suivante qui coince : ActiveCell.Offset(0, -5).Columns("A:A").EntireColumn.ColumnWidth = 24.08

Je souhaiterais également insérer une signature à la fin de mon message "colonne E", signature déjà présente sur mon outlook.


Merci pour votre retour et votre indulgence :)
Philippe
 

Pièces jointes

  • Envoi_Mails_Groupés_CertifHS.xlsm
    55.1 KB · Affichages: 2

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Cela vient de l'enregistreur de macro. Ce qui est bien en soi, par contre c'est mieux de comprendre chaque mot clef de chaque ligne d'instruction avant de vouloir adapter.

Admettons que la cellule active soit A1
ActiveCell.Offset(1, 1) est B2
ActiveCell.Offset(1,1).Range("A1") est aussi B2

Dans ActiveCell.Offset(0, -5) si la cellule active est dans une colonne inférieure à la sixième, .Offset(0,-5) plante, la colonne -4 ou -3 ou -2 etc. n'existant pas
 

Philou0607

XLDnaute Nouveau
Merci Hasco, je pense comprendre. J'ai repris le tableau et adapté le code. Cela ne plante plus.
Le code fonctionne. 👍
Sans t'obliger, peux-tu m'indiquer les lignes de code que je dois ajouter pour faire figurer ma signature ?
Merci bcp d'avance
Philippe :)
 

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T