voilà je veux creer une macro qui copie les valeurs contenues dans un onglet
(exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le
probléme c'est que excel, lors de la création de l'onglet me met un nom
d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera
onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais
s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet
Range("B2:BA633").Select
'copie de la base
Selection.Copy
Sheets("MaBase").Select
'ajoute un objet a une collection, ici la feuille à la collection du classeur
Sheets.Add
'collage
ActiveSheet.Paste
'selection de l'onglet
Sheets("Feuil15").Select
'renome l'onglet feuil15 : "report1"
Sheets("Feuil15").Name = "report1"
'selection de toute la ligne 4
Rows("4:4").Select
...ect
end sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour En procédant comme ceci, tu devrais mieux t'en sortir ;-) Dim LaFeuille As Worksheet Set LaFeuille = ThisWorkbook.Worksheets.Add 'éventuellement tu lui donnes un nom : 'LaFeuille.Name = "TonNom"
Cordialement Pascal
"jive7" a écrit dans le message de news:
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un onglet (exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le probléme c'est que excel, lors de la création de l'onglet me met un nom d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet Range("B2:BA633").Select 'copie de la base Selection.Copy Sheets("MaBase").Select 'ajoute un objet a une collection, ici la feuille à la collection du classeur Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet Sheets("Feuil15").Select 'renome l'onglet feuil15 : "report1" Sheets("Feuil15").Name = "report1" 'selection de toute la ligne 4 Rows("4:4").Select ...ect end sub
Bonjour
En procédant comme ceci, tu devrais mieux t'en sortir ;-)
Dim LaFeuille As Worksheet
Set LaFeuille = ThisWorkbook.Worksheets.Add
'éventuellement tu lui donnes un nom :
'LaFeuille.Name = "TonNom"
Cordialement
Pascal
"jive7" <jive7@discussions.microsoft.com> a écrit dans le message de news:
4A7513A1-6F9B-46BE-B8D2-D4C9E53C7C70@microsoft.com...
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un
onglet
(exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le
probléme c'est que excel, lors de la création de l'onglet me met un nom
d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel
cherchera
onglet 15 alors que il existe plus on a créer un nouvel onglet qui
desormais
s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet
Range("B2:BA633").Select
'copie de la base
Selection.Copy
Sheets("MaBase").Select
'ajoute un objet a une collection, ici la feuille à la collection du
classeur
Sheets.Add
'collage
ActiveSheet.Paste
'selection de l'onglet
Sheets("Feuil15").Select
'renome l'onglet feuil15 : "report1"
Sheets("Feuil15").Name = "report1"
'selection de toute la ligne 4
Rows("4:4").Select
...ect
end sub
Bonjour En procédant comme ceci, tu devrais mieux t'en sortir ;-) Dim LaFeuille As Worksheet Set LaFeuille = ThisWorkbook.Worksheets.Add 'éventuellement tu lui donnes un nom : 'LaFeuille.Name = "TonNom"
Cordialement Pascal
"jive7" a écrit dans le message de news:
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un onglet (exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le probléme c'est que excel, lors de la création de l'onglet me met un nom d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet Range("B2:BA633").Select 'copie de la base Selection.Copy Sheets("MaBase").Select 'ajoute un objet a une collection, ici la feuille à la collection du classeur Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet Sheets("Feuil15").Select 'renome l'onglet feuil15 : "report1" Sheets("Feuil15").Name = "report1" 'selection de toute la ligne 4 Rows("4:4").Select ...ect end sub
Hervé
bonjour
essayes comme ceci :
Dim feuille As Worksheet 'copie de la base Range("B2:BA633").Copy 'ajoute un objet a une collection, ici la feuille à la collection du classeur Set feuille = Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet With feuille .Select 'renome l'onglet feuil15 : "report1" .Name = "report1" End With 'selection de toute la ligne 4 Rows("4:4").Select
salut
bonjour
essayes comme ceci :
Dim feuille As Worksheet
'copie de la base
Range("B2:BA633").Copy
'ajoute un objet a une collection, ici la feuille à la collection du classeur
Set feuille = Sheets.Add
'collage
ActiveSheet.Paste
'selection de l'onglet
With feuille
.Select
'renome l'onglet feuil15 : "report1"
.Name = "report1"
End With
'selection de toute la ligne 4
Rows("4:4").Select
Dim feuille As Worksheet 'copie de la base Range("B2:BA633").Copy 'ajoute un objet a une collection, ici la feuille à la collection du classeur Set feuille = Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet With feuille .Select 'renome l'onglet feuil15 : "report1" .Name = "report1" End With 'selection de toute la ligne 4 Rows("4:4").Select
salut
JLuc
*Bonjour jive7*, Papou et Hervé ton bien demele le probleme, seul petit oubli, c'est que si tu relance ta macro il faut quand meme verifier l'extistance :
Dim LeNom As String Dim flag As Boolean LeNom = "TonNom" For Each feuille In Sheets If feuille.Name = LeNom Then flag = True Next If flag Then Sheets(LeNom).Cells.ClearContents Else Sheets.Add after:=Sheets(Sheets.Count) 'en dernier Sheets(Sheets.Count).Name = LeNom End If ' et ici le reste de ton code
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un onglet (exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le probléme c'est que excel, lors de la création de l'onglet me met un nom d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet Range("B2:BA633").Select 'copie de la base Selection.Copy Sheets("MaBase").Select 'ajoute un objet a une collection, ici la feuille à la collection du classeur Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet Sheets("Feuil15").Select 'renome l'onglet feuil15 : "report1" Sheets("Feuil15").Name = "report1" 'selection de toute la ligne 4 Rows("4:4").Select ...ect end sub
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour jive7*,
Papou et Hervé ton bien demele le probleme, seul petit oubli, c'est que
si tu relance ta macro il faut quand meme verifier l'extistance :
Dim LeNom As String
Dim flag As Boolean
LeNom = "TonNom"
For Each feuille In Sheets
If feuille.Name = LeNom Then flag = True
Next
If flag Then
Sheets(LeNom).Cells.ClearContents
Else
Sheets.Add after:=Sheets(Sheets.Count) 'en dernier
Sheets(Sheets.Count).Name = LeNom
End If
' et ici le reste de ton code
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un onglet
(exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le
probléme c'est que excel, lors de la création de l'onglet me met un nom
d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera
onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais
s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet
Range("B2:BA633").Select
'copie de la base
Selection.Copy
Sheets("MaBase").Select
'ajoute un objet a une collection, ici la feuille à la collection du classeur
Sheets.Add
'collage
ActiveSheet.Paste
'selection de l'onglet
Sheets("Feuil15").Select
'renome l'onglet feuil15 : "report1"
Sheets("Feuil15").Name = "report1"
'selection de toute la ligne 4
Rows("4:4").Select
...ect
end sub
*Bonjour jive7*, Papou et Hervé ton bien demele le probleme, seul petit oubli, c'est que si tu relance ta macro il faut quand meme verifier l'extistance :
Dim LeNom As String Dim flag As Boolean LeNom = "TonNom" For Each feuille In Sheets If feuille.Name = LeNom Then flag = True Next If flag Then Sheets(LeNom).Cells.ClearContents Else Sheets.Add after:=Sheets(Sheets.Count) 'en dernier Sheets(Sheets.Count).Name = LeNom End If ' et ici le reste de ton code
Bonjour,
voilà je veux creer une macro qui copie les valeurs contenues dans un onglet (exemple "ma base") dans un deuxieme oblet (exemple "copie ma base"). Le probléme c'est que excel, lors de la création de l'onglet me met un nom d'onglet (exemple "Feuil15"). Ainsi si je relance la macro, excel cherchera onglet 15 alors que il existe plus on a créer un nouvel onglet qui desormais s'appel "Feuille16" et du coup plantage !
voici l'exemple de mon code
'selection de la base jusqu'a la colonne fin projet Range("B2:BA633").Select 'copie de la base Selection.Copy Sheets("MaBase").Select 'ajoute un objet a une collection, ici la feuille à la collection du classeur Sheets.Add 'collage ActiveSheet.Paste 'selection de l'onglet Sheets("Feuil15").Select 'renome l'onglet feuil15 : "report1" Sheets("Feuil15").Name = "report1" 'selection de toute la ligne 4 Rows("4:4").Select ...ect end sub