Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

C'est un sujet maintes fois traité sur le forum qui n'est pas si simple qu'il y paraît et ne concerne plus cette discussion. Principe du forum : Un sujet -> Une discussion
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…