Problème de copie de feuille en VBA
onra
-
onesdf Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
onesdf Messages postés 375 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis entrain de créer un code ou j'ai besoin de copier des feuilles successivement:
feuille "situations1" => "situation 2"
pui "situation 2" => "situation 3"
et ainsi de suite
Mon problème, c'est que mon code copie toujours la situation 1.
Voici mon code:
Sub Copysitu()
'
Dim i, a As Integer
For i = 3 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Copy After:=Worksheets(i)
i = i + 1
Next i
End Sub
Si quelqu'un pourrait me donner un petit coup de pouce
merci
Je suis entrain de créer un code ou j'ai besoin de copier des feuilles successivement:
feuille "situations1" => "situation 2"
pui "situation 2" => "situation 3"
et ainsi de suite
Mon problème, c'est que mon code copie toujours la situation 1.
Voici mon code:
Sub Copysitu()
'
Dim i, a As Integer
For i = 3 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Copy After:=Worksheets(i)
i = i + 1
Next i
End Sub
Si quelqu'un pourrait me donner un petit coup de pouce
merci
A voir également:
- Problème de copie de feuille en VBA
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Feuille de pointage excel - Télécharger - Tableur
- Copie écran samsung - Guide
- Copie disque dur - Guide
entre les diférentes copies, les informations dans les feuilles changent.
Mais mon plus gros problème est de changer le nom des feuilles quand la source est toujours la même feuille.
Dans le code que je t'ai donné, la copie de la feuille ne se place pas en dernière, et c'est pour moi indispensable.
peut être comprendras tu mieux, si je te donne le code que j'ai fait pour changer le nom des feuilles.
Sub Changenom()
'
Dim i, a As Integer
For i = 3 To ActiveWorkbook.Worksheets.Count
a = i - 2
ActiveWorkbook.Worksheets(i).Name = "Situation" & a
Next i
End Sub
IndexFeuille = Sheets("Situation 1").Index
ActiveWorkbook.Sheets.Add after:=Sheets(IndexFeuille)
ActiveSheet.Name = "Situation 2"
' Traitements
IndexFeuille = Sheets("Situation 2").Index
ActiveWorkbook.Sheets.Add after:=Sheets(IndexFeuille)
ActiveSheet.Name = "Situation 3"
' Re traitements
...
Si ca ne te convient, essaie d'exposer clairement ton problème : ce que tu as à l'origine et ce que tu veux obtenir au final