Bonjour à toutes et à tous,
J'ai écrit une macro qui fonctionne parfaitement sur mon PC (XP Pro + Excel 2003)
Sur un autre PC (XP Pro + Excel 2002), j'ai une erreur :
-> Erreur d'exécution 9 - L'indice n'appartient pas à la sélection
Le débogeur souligne en jaune la ligne
Je précise que les extensions de fichiers ne sont pas masquées (sur les 2 PC).
Je cherche depuis un moment la solution à ce problème sans y parvenir.
D'avance merci pour les réponses qui me parviendront.
Bien cordialement,
J'ai écrit une macro qui fonctionne parfaitement sur mon PC (XP Pro + Excel 2003)
Code:
'##########Le Menu [Procédure BA KO]##########'
'~~~~~~~~~~Procédure initiale~~~~~~~~~~'
Private Sub Auto_Open()
'~~~~~~~~~~Déclaration des variables~~~~~~~~~~'
Dim Nouveau As CommandBarControl '<-- Menu général "Procédure BA KO"
Dim Nouveau10 As CommandBarControl '<-- Menu "Fichier [paa_E_AAA_MM_JJ....xml] : Sélection - Copier / Coller"
Dim Nouveau11 As CommandBarControl, Nouveau12 As CommandBarControl '<-- Sous-Menu "Premier fichier .xml" & Sous-Menu "Second fichier .xml"
Dim Nouveau20 As CommandBarControl '<-- Menu "Fichier [image_paa_acquittement] : Sélection - Copier / Coller"
Dim Nouveau30 As CommandBarControl '<-- Menu "Les résultats dans l'onglet [Actions]"
Dim Nouveau31 As CommandBarControl, Nouveau32 As CommandBarControl '<-- Sous-Menu "Définition de la zone d'impression" & Sous-Menu "Impression des données"
Dim Nouveau40 As CommandBarControl '<-- Menu "Affichage de l'onglet [Synthèse]"
Dim Nouveau50 As CommandBarControl '<-- Menu "Fichier [image_paa_modifié] : Appliquer filtre automatique"
'~~~~~~~~~~Création d'un menu "Procédure BA KO"~~~~~~~~~~'
On Error Resume Next
Set Nouveau = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
With Nouveau
.Caption = "Procédure BA KO"
End With
'~~~~~~~~~~Création du Menu "Fichier [paa_E_AAA_MM_JJ....xml] : Sélection - Copier / Coller"~~~~~~~~~~'
Set Nouveau10 = Nouveau.Controls.Add(msoControlPopup, , , , True)
With Nouveau10
.Caption = "Fichier [paa_E_AAA_MM_JJ....xml] : Sélection - Copier / Coller"
.Style = msoPopupIconAndCaption
End With
'~~~~~~~~~~Création du Sous-Menu "Premier fichier .xml"~~~~~~~~~~'
Set Nouveau11 = Nouveau10.Controls.Add(msoControlButton, , , , True)
With Nouveau11
.Caption = "Premier fichier .xml"
.FaceId = 71
.Style = msoButtonIconAndCaption
.OnAction = "MaMacro1"
End With
'~~~~~~~~~~Création du Sous-Menu "Second fichier .xml"~~~~~~~~~~'
Set Nouveau12 = Nouveau10.Controls.Add(msoControlButton, , , , True)
With Nouveau12
.Caption = "Second fichier .xml"
.FaceId = 72
.Style = msoButtonIconAndCaption
.OnAction = "maMacro2"
End With
'~~~~~~~~~~Création du Menu "Fichier [image_paa_acquittement] : Sélection - Copier / Coller"~~~~~~~~~~'
Set Nouveau20 = Nouveau.Controls.Add(msoControlButton, , , , True)
With Nouveau20
.Caption = "Fichier [image_paa_acquittement] : Sélection - Copier / Coller"
.Style = msoButtonIconAndCaption
.OnAction = "maMacro3"
End With
'~~~~~~~~~~Création du Menu "Les résultats dans l'onglet [Actions]"~~~~~~~~~~'
Set Nouveau30 = Nouveau.Controls.Add(msoControlPopup, , , , True)
With Nouveau30
.Caption = "Les résultats dans l'onglet [Actions]"
.Style = msoButtonIconAndCaption
End With
'~~~~~~~~~~Création du Sous-Menu "Définition de la zone d'impression"~~~~~~~~~~'
Set Nouveau31 = Nouveau30.Controls.Add(msoControlButton, , , , True)
With Nouveau31
.Caption = "Définition de la zone d'impression"
.FaceId = 71
.Style = msoButtonIconAndCaption
.OnAction = "maMacro5"
End With
'~~~~~~~~~~Création du Sous-Menu "Impression des données"~~~~~~~~~~'
Set Nouveau32 = Nouveau30.Controls.Add(msoControlButton, , , , True)
With Nouveau32
.Caption = "Impression des données"
.FaceId = 72
.Style = msoButtonIconAndCaption
.OnAction = "maMacro6"
End With
'~~~~~~~~~~Création du Menu "Affichage de l'onglet [Synthèse]"~~~~~~~~~~'
Set Nouveau40 = Nouveau.Controls.Add(msoControlButton, , , , True)
With Nouveau40
.Caption = "Affichage de l'onglet [Synthèse]"
.Style = msoButtonIconAndCaption
.OnAction = "maMacro7"
End With
'~~~~~~~~~~Création du Menu "Fichier [image_paa_modifié] : Appliquer filtre automatique"~~~~~~~~~~'
Set Nouveau50 = Nouveau.Controls.Add(msoControlButton, , , , True)
With Nouveau50
.Caption = "Fichier [image_paa_modifié] : Appliquer filtre automatique"
.Style = msoButtonIconAndCaption
.OnAction = "maMacro8"
End With
End Sub
'~~~~~~~~~~Supprimer le menu & et cacher onglet [Synthèse] à la fermeture du classeur [accesplus_procedure_incident_ba_v1.5.xls]~~~~~~~~~~'
Sub Auto_close()
On Error Resume Next
Application.CommandBars(1).Controls("Procédure BA KO").Delete
Sheets("Synthèse").Visible = False
On Error GoTo 0
End Sub
'##########Les Macros##########
'~~~~~~~~~~Macro sélection des données [à partir de la celulle A3] pour copier / coller dans l'onglet [Données] à partir de la celulle A3~~~~~~~~~~'
Sub maMacro1()
Derlign = Range("A65536").End(xlUp).Row
Range("A3:AD" & Derlign).Select
Selection.Copy
Windows("accesplus_procedure_incident_ba_v1.5.xls").Activate
Sheets("Données").Select
Range("A3").Select
ActiveSheet.Paste
End Sub
'~~~~~~~~~~Macro sélection des données [à partir de la celulle A3] pour copier / coller dans l'onglet [Données] à partir de la celulle la 1ère celulle vide dans la colonne A~~~~~~~~~~'
Sub maMacro2()
Derlign = Range("A65536").End(xlUp).Row
Range("A3:AD" & Derlign).Select
Selection.Copy
Windows("accesplus_procedure_incident_ba_v1.5.xls").Activate
Sheets("Données").Select
Range("A3").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
'~~~~~~~~~~Macro sélection des données [à partir de la celulle A1] pour copier / coller dans l'onglet [Image de SysRailData] à partir de la celulle A3~~~~~~~~~~'
Sub maMacro3()
Derlign = Range("A65536").End(xlUp).Row
Range("A1:AD" & Derlign).Select
Selection.Copy
Windows("accesplus_procedure_incident_ba_v1.5.xls").Activate
Sheets("Image de SysRailData").Select
Range("A1").Select
ActiveSheet.Paste
End Sub
'~~~~~~~~~~Macro pour définir une zone d'impression adaptée au contenu dans l'onglet [Action]~~~~~~~~~~'
Sub maMacro5()
ActiveSheet.PageSetup.PrintArea = Range("A1:B" & _
Range("B65536").End(xlUp).Row).Address
End Sub
'~~~~~~~~~~Macro pour imprimer la zone définie précédemment~~~~~~~~~~'
Sub maMacro6()
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Cells.Select
Selection.EntireColumn.Hidden = False
Selection.EntireRow.Hidden = False
[A1].Select
End Sub
'~~~~~~~~~~Macro pour affichage de l'onglet [Synthèse]~~~~~~~~~~'
Sub maMacro7()
Sheets("Synthèse").Visible = True
End Sub
'~~~~~~~~~~Macro pour appliquer filtre automatique~~~~~~~~~~'
Sub maMacro8()
Selection.AutoFilter
End Sub
Sur un autre PC (XP Pro + Excel 2002), j'ai une erreur :
-> Erreur d'exécution 9 - L'indice n'appartient pas à la sélection
Le débogeur souligne en jaune la ligne
Code:
Windows("accesplus_procedure_incident_ba_v1.5.xls").Activate
Je précise que les extensions de fichiers ne sont pas masquées (sur les 2 PC).
Je cherche depuis un moment la solution à ce problème sans y parvenir.
D'avance merci pour les réponses qui me parviendront.
Bien cordialement,