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

copie fichier vers fichier erreur indice 9

  • Initiateur de la discussion Initiateur de la discussion nicoloc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicoloc

Guest
Bonjour a tous
j'ai ecrit le code suivant pour permettre :
douvrir un fichier , copier des données depuis le fichier ouvert vers le fichier qui lance la macro .
Fermer le fichier ouvert via la macro.
ouvrir le fichier suivant ect...

Cela a bien marché mais cela ne marche plus 😕😕
après ouverture du fichier "file " (le fichier s'ouvre bien) lors de l'execution de la ligne
Code:
 Windows(file).Activate

Erreur d'execution '9'
l'indicen'appartien pas à la sélection

je comprend pas pourquoi.
Merci de votre aide

Code:
Private Sub Workbook_Open()

Dim currentfile, file, path As String
Dim i, k, nb, Zstart, Zend  As Variant

'Application.ScreenUpdating = False

For i = 1 To 5

'opening one factory file
Sheets("param").Select
file = Cells(2, i + 1)
path = Cells(3, 2)
currentfile = Cells(4, 2)

    Workbooks.Open Filename:=path & file
        
   ' Sheets("Data").Select
       
   For k = 0 To 4
    'selecting metric
   Windows(file).Activate
   ' Worksheets("Data").Select
   Sheets("Data").Select
    Zend = 7 + k * 5
    If k = 4 Then Zend = 7 + k * 5 - 1
    Zstart = 4 + k * 5
    Rows(Zstart & ":" & Zend).Select
    Selection.Copy
    Windows(currentfile).Activate
    Sheets("Data").Select
    nb = i * 6 + k * 31
    If k = 4 And i >= 2 Then nb = i * 6 + k * 31 - (i - 1)
    Rows(nb).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Next k
'closing file to get to the next one
Application.DisplayAlerts = False
     Windows(file).Activate
    ActiveWindow.Close
    Application.DisplayAlerts = True

Next i

'Application.ScreenUpdating = True
End Sub
 
Re : copie fichier vers fichier erreur indice 9

Bonjour,

petite remarque au passage, pas top l'utilisation de "path" comme variable, c'est un mot réservé vba, il est préférable de ne pas les utiliser comme nom de variable ou d'objet... Pour ton problème, perso j'utiliserais plutôt une variable objet dans ce cas.... exemple cidessous :
Code:
Dim wb As Workbook
Set wb = Workbooks.Open("monfichier.xls")
wb.Activate

bonne journée
@+
 
Re : copie fichier vers fichier erreur indice 9

Ok j'ai fais les modif qu tu m'as conseillé :
definir des workbook en variable
changer le nom path ....en chemin (original hein)


et ca marche.
Voici donc le code fonctionnel.
Code:
Private Sub Workbook_Open()

Dim file, chemin As String
Dim wb1, Wbini As Workbook
Dim i, k, nb, Zstart, Zend  As Variant

'Application.DisplayAlerts = True
Application.ScreenUpdating = False

For i = 1 To 5
Set Wbini = ActiveWorkbook
'opening one factory file
Sheets("param").Select
file = Cells(2, i + 1)
chemin = Cells(3, 2)
    
    Set wb1 = Workbooks.Open(chemin & file)
        
    wb1.Activate
    wb1.Sheets("Data").Activate
       
   For k = 0 To 4
    'selecting metric
    wb1.Activate
    Zend = 7 + k * 5
    If k = 4 Then Zend = 7 + k * 5 - 1
    Zstart = 4 + k * 5
    Rows(Zstart & ":" & Zend).Select
    Selection.Copy
    Wbini.Activate
    Sheets("Data").Select
    nb = i * 6 + k * 31
    If k = 4 And i >= 2 Then nb = i * 6 + k * 31 - (i - 1)
    Rows(nb).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Next k
'closing file to get to the next one
Application.DisplayAlerts = False
     wb1.Activate
    ActiveWindow.Close
    Application.DisplayAlerts = True

Next i

Application.ScreenUpdating = True
End Sub

par contre je comprend pas pourquoi le code précedent ne fonctionnait pas ....
mais c'est vrai qu'il faut que j'utilise plus les variables objet.
Merci encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
912
Réponses
3
Affichages
923
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…