Hello,
voilà une question pour t'occuper ouskel (comme promis)
Je voudrais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 For i = 1 To Responsivness.TextBox9 Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _ Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i Set FicTemp = ActiveWorkbook ThisWorkbook.Sheets.Add After:=ThisWorkbook.Worksheets(Worksheets.Count) ThisWorkbook.ActiveSheet.Name = "Copie" & i FicTemp.Sheets(1).Copy ThisWorkbook.Sheets("Copie" & i) FicTemp.Close Next
là ca m'ajoute bien une feuille "Copie1" mais aussi une feuille "Feuil1 (2)" où sont copiés les données (copie1 restant vierge)
- Ajouter une feuille dans mon fichier où s'execute la macro
- copier les données d'une feuille d'un autre classeur
- fermer l'autre classeur
j'ai tenté aussi de faire comme ca car je me de que le probleme vient de cette ligne :
donc j'ai modifié mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part FicTemp.Sheets(1).Copy ThisWorkbook.Sheets("Copie" & i)
mais là j'ai "l'indice n'appartient pas à la selection" à la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 For i = 1 To Responsivness.TextBox9 Workbooks.Open CheminFichier & "\" & Responsivness.TextBox7 & "\" & _ Responsivness.TextBox8 & ") " & NomsMois(Responsivness.TextBox8) & "\responsivness" & i Set FicTemp = ActiveWorkbook ThisWorkbook.Sheets.Add After:=ThisWorkbook.Worksheets(Worksheets.Count) ThisWorkbook.ActiveSheet.Name = "Copie" & i FicTemp.Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(65536, 256)).Copy _ ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256)) FicTemp.Close Next
mais je comprend pas trop à quel niveau de la ligne vient le souci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 FicTemp.Sheets(1).Range(Sheets(1).Cells(1, 1), Sheets(1).Cells(65536, 256)).Copy _ ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256))
et si quelqu'un pourrait me donner une autre facon d'ecrire
en plus court j'apprecierai aussi
Code : Sélectionner tout - Visualiser dans une fenêtre à part ThisWorkbook.Sheets("Copie" & i).Range(Sheets("Copie" & i).Cells(1, 1), Sheets("Copie" & i).Cells(65536, 256))
Partager