Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Zouzou93

XLDnaute Occasionnel
Bonsoir le Forum,


J'ai créer une petite application excel nommée "COTATEUR" que j'ai enregistré en tant que modèle.
Les macros s'appliquent toutes à l'exception d'une qui me met le message suivant : "ERREUR D'EXECUTION 9, L'INDICE N'APPARTIENT PAS A LA SELECTION".
Le débogueur s'arrête et surligne la ligne suivante de ma macro
Workbooks("COTATEUR.xls").Activate.

En fait lorsque j'ouvre le modèle de mon application nommée COTATEUR il me l'affiche à l'écran suivi d'un 1 : COTATEUR1.
Est ce la raison du bug ? Comment puis-je faire pour règler ce problème ?
Car le même fichier non enregistré en tant que modèle fonctionne bien lui.

Merci de votre aide
Zouzou
 

Staple1600

XLDnaute Barbatruc
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Bonjour

A vue de nez
Tu as enregistré ton fichier en COTATEUR.xlt (si c'est un modèle)

et si ton code appelle
COTATEUR.xls

Il y a erreur, c'est (semble t'il logique).


En postant le code de ta macro, on pourrait y voir plus clair
 

Zouzou93

XLDnaute Occasionnel
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Bonsoir Stapple et merci pour ta réponse. J'ai modifié l'extention de mon fichier Cotateur en xlt et j'ai malgré tout tjrs le même message.
N'est ce pas aussi peut être parce que le fichier que l'on appelle ne s'affiche pas avec le nom du modèle et qu'il rajoute 1 ? C'est une supposition car à vrai dire je ne m'y connais pas encore trop ?

Ci après extrait du code ... J'espère que cela t'aidera à m'aider.

Sub enregistre()
Application.ScreenUpdating = False
If Not Flag Then
Dim ApplicOutlook As Object
Dim ElémentCourrier As Object
Dim cellule As Range
Dim Sujet As String
Dim Email As String
Dim Destinataire As String
Dim mois As String
Dim Msg As String
MsgBox "Vous devez d'abord valider votre cotation pour pouvoir l'enregistrer."
Exit Sub
End If
Flag = False

Application.DisplayAlerts = False

[G1].Value = [G1].Value + 1
Range("E1:G1").Font.ColorIndex = 0
ActiveSheet.Copy
Cells.Copy
Cells.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range("D3").Select
Application.StatusBar = False
For Each Obj In ActiveSheet.DrawingObjects
Obj.Delete
Next Obj

ActiveWorkbook.SaveAs Filename:="Z:\documents\Outils\COTATEUR AIR EXPORT\ARCHIVES COTATIONS\" & [E1].Value & " " & Format([F1].Value, "yyyymm") & " " & [G1] & ".xls", FileFormat:=xlNormal

Set ApplicOutlook = CreateObject("Outlook.Application")

Sujet = "FRANCE OFFRE NR" & " " & [E1] & " " & Format([F1].Value, "yyyymm") & " " & [G1]


'Message d'envoi
Msg = "Madame, Monsieur " & Destinataire & vbCrLf & vbCrLf
Msg = Msg & "Nous vous prions de bien vouloir trouver ci joint notre offre de transport Aérien" & vbCrLf & vbCrLf
Msg = Msg & "Nous vous souhaitons bonne réception de la présente" & vbCrLf & vbCrLf
Msg = Msg & "Cordialement," & vbCrLf & vbCrLf
Msg = Msg & "France"

'Création du message et envoi
Set ElémentCourrier = ApplicOutlook.CreateItem(0)

With ElémentCourrier
.Attachments.Add ActiveWorkbook.FullName
.To = Email
.Subject = Sujet
.Body = Msg
.Display

End With


Workbooks.Open ("Z:\documents\Outils\COTATEUR AIR EXPORT\ARCHIVES COTATIONS\Archives.xls")

Windows("COTATEUR.xlt").Activate
Range("E1:G1").Select
Selection.Font.ColorIndex = 0
Range("I1").Select
Range("C8").Select
Selection.Copy
Windows("ARCHIVES.XLS").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Windows("COTATEUR.xlt").Activate
Range("D17").Select
Application.CutCopyMode = False
Selection.Copy
Windows("ARCHIVES.XLS").Activate

......

Merci
Zouzou
 

Staple1600

XLDnaute Barbatruc
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Re


Si ton modèle s'appelle COTATEUR.xlt

Quand tu crées un classeur à partir de ce modèle

il s'appelle

COTATEUR01.xls


Donc ici
il faudrait (enfin je suppose)
Windows("COTATEUR01.xls").Activate

Teste cette modif pour voir
 

Staple1600

XLDnaute Barbatruc
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Re



J'ai la même erreur

J'ai créer un modèle AAA.xlt avec cette macro
Sub text()
Windows("AAA.xlt").Activate
End Sub

JE créer un nouveau classeur

Il s'appelle donc AAA01.xls

Et si je lance la macro j'ai le même message que toi
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Bonjour Zouzou, Staple

pas tout suivi, mais pour créer un classeur sur la base d'un modèle, j'utililserais ce code :

Code:
Dim wb As Workbook
Set wb = Workbooks.Add("monmodele.xlt")
wb.SaveAs "monnom.xls"
préciser le chemin si modèle pas dans le dossier courrant, idem pour l'enregistrement.

bonne soirée
@+
 

Zouzou93

XLDnaute Occasionnel
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Bonjour Pierrot, Bonjour Staple et merci à tous les 2.

Je viens d'essayer le code que j'ai mis dans : ThisWorkbook mais j'ai un message d'erreur :

Erreur de compilation - Instruction Incorrecte à l'extérieur d'une procédure
Le Set de la 2ème ligne est surligné ....

Dim wb As Workbook
Set wb = Workbooks.Add("COTATEUR.xlt")
wb.SaveAs "Z:\documents\Outils\COTATEUR AIR EXPORT\ARCHIVES COTATIONS\COTATEUR.xls"

Merci
Zouzou
 

ChTi160

XLDnaute Barbatruc
Re : Erreur d'exécution 9-L'indice n'appartient pas à la sélection

Salut Zouzou
bonjour le fil
je pense que tu n'as pas placé ton code au bon endroit c'est à dire

exemple

Private Sub Workbook_Open()
Dim wb As Workbook
Set wb = Workbooks.Add("COTATEUR.xlt")
wb.SaveAs "Z:\documents\Outils\COTATEUR AIR EXPORT\ARCHIVES COTATIONS\COTATEUR.xls"
End Sub
la c'est à l'ouverture du fichier qu'un classeur sera crée et enregistre
Bonne journée
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 047
dernier inscrit
bravetta