Dupliquer un onglet tout en changeant son nom
Résolu/Fermé
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
-
14 mars 2016 à 15:54
Nonnoo Messages postés 25 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 9 juin 2016 - 15 mars 2016 à 14:48
Nonnoo Messages postés 25 Date d'inscription lundi 14 mars 2016 Statut Membre Dernière intervention 9 juin 2016 - 15 mars 2016 à 14:48
A voir également:
- Dupliquer un onglet tout en changeant son nom
- Dupliquer ecran - Guide
- Changer son dns - Guide
- Rouvrir un onglet fermé - Guide
- Changer le nom de son iphone - Guide
- Dupliquer whatsapp - Guide
5 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
14 mars 2016 à 17:30
14 mars 2016 à 17:30
Re,
Dans le code je perle de l'onglet Feuil1 et toi tu parles de Feuille1. Quel sont les noms exact des deux onglets ?
Dans le code je perle de l'onglet Feuil1 et toi tu parles de Feuille1. Quel sont les noms exact des deux onglets ?
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
14 mars 2016 à 16:44
14 mars 2016 à 16:44
Bonjour Nono, bonjour le forum,
Si j'ai bien compris, le code ci-dessous devrait fonctionner :
Si j'ai bien compris, le code ci-dessous devrait fonctionner :
Sub Macro1() Dim CEL As Range 'declare la variable CEL (CELlule) 'boucle sur toutes les cellules CEL éditées de la colonne 1(=A) For Each CEL In Sheets("Feuil1").Range("A1:A" & Sheets("Feuil1").Cells(Application.Rows.Count, 1).End(xlUp).Row) Sheets("Feuil5").Copy after:=Sheets(Sheets.Count) 'copy l'onglet "Feuil5" en dernier ActiveSheet.Name = CEL.Value 'renomme l'onglet copié Next CEL 'prichaine cellule de la boucle End Sub
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
14 mars 2016 à 17:26
14 mars 2016 à 17:26
Bonjour Thautheme !
Merci de ta réponse... Cependant le code ne marche pas, il me met en jaune la ligne "for each..." et me dit que "l'indice n'appartient pas à la sélection" ...
Merci beaucoup de ton aide
Nono
Merci de ta réponse... Cependant le code ne marche pas, il me met en jaune la ligne "for each..." et me dit que "l'indice n'appartient pas à la sélection" ...
Merci beaucoup de ton aide
Nono
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
15 mars 2016 à 09:51
15 mars 2016 à 09:51
Re,
Il suffisait d'adapter les noms des onglets dans le code...
Il suffisait d'adapter les noms des onglets dans le code...
Sub Macro1() Dim CEL As Range 'declare la variable CEL (CELlule) 'boucle sur toutes les cellules CEL éditées de la colonne 1(=A) For Each CEL In Sheets("GLOBAL").Range("A1:A" & Sheets("GLOBAL").Cells(Application.Rows.Count, 1).End(xlUp).Row) Sheets("SX19").Copy after:=Sheets(Sheets.Count) 'copie l'onglet "SX19" en dernier ActiveSheet.Name = CEL.Value 'renomme l'onglet copié Next CEL 'prichaine cellule de la boucle End Sub
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
15 mars 2016 à 10:24
15 mars 2016 à 10:24
Merci mais ca ne marche toujours pas... il me met la ligne
ActiveSheet.Name = CEL.Value 'renomme l'onglet copié
en jaune...
Merci quand même
Nono
ActiveSheet.Name = CEL.Value 'renomme l'onglet copié
en jaune...
Merci quand même
Nono
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
15 mars 2016 à 10:35
15 mars 2016 à 10:35
Le code proposé utilise une liste qui serait écrite dans les cellules de la colonne A (en commençant en A1) de l'onglet GLOBAL. Si cette liste est ailleurs il faut adapter le code. Comme tu n'as pas daigné donner des renseignements fiables quant à l'adresse de cette liste, j'ai fait au plus simple...
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
15 mars 2016 à 10:44
15 mars 2016 à 10:44
C'est bon j'ai réussi merci beaucoup !
Désolée de pas avoir été très claire sur mes explications, mais merci grâce à toi ca marche !
J'ai aussi une autre question qui est liée : Je voulais savoir s'il était possible de nommer chaque cellule D1 de chaque onglet à partir de la colonne B de mon onglet global. Je m'explique : dans l'onglet Global il y a en colonne a les codes 01, 02, 03.... qui m'ont servi à nommer mes onglets. Et dans la colonne B2, en face de chaque code il y a les noms des bureaux, je voudrais que ces noms apparaissent dans chaque onglet dans la cellule D1 pour qu'on puisse reconnaître à quel bureau appartient ce code...
Merci par avance de votre aide
Nono
Désolée de pas avoir été très claire sur mes explications, mais merci grâce à toi ca marche !
J'ai aussi une autre question qui est liée : Je voulais savoir s'il était possible de nommer chaque cellule D1 de chaque onglet à partir de la colonne B de mon onglet global. Je m'explique : dans l'onglet Global il y a en colonne a les codes 01, 02, 03.... qui m'ont servi à nommer mes onglets. Et dans la colonne B2, en face de chaque code il y a les noms des bureaux, je voudrais que ces noms apparaissent dans chaque onglet dans la cellule D1 pour qu'on puisse reconnaître à quel bureau appartient ce code...
Merci par avance de votre aide
Nono
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
15 mars 2016 à 12:53
15 mars 2016 à 12:53
Re,
Essaie ce nouveau code :
Essaie ce nouveau code :
Sub Macro1() Dim CEL As Range 'declare la variable CEL (CELlule) 'boucle sur toutes les cellules CEL éditées de la colonne 1(=A) For Each CEL In Sheets("GLOBAL").Range("A1:A" & Sheets("GLOBAL").Cells(Application.Rows.Count, 1).End(xlUp).Row) Sheets("SX19").Copy after:=Sheets(Sheets.Count) 'copie l'onglet "SX19" en dernier ActiveSheet.Name = CEL.Value 'renomme l'onglet copié ActiveSheet.Range("D1").Value = CEL.Offset(0, 1).Value 'copie dans la cellule D1 de l'onglet actif la valeur de la cellule CEL décalée d'une colonne à droite Next CEL 'prichaine cellule de la boucle End Sub
Nonnoo
Messages postés
25
Date d'inscription
lundi 14 mars 2016
Statut
Membre
Dernière intervention
9 juin 2016
15 mars 2016 à 14:48
15 mars 2016 à 14:48
MERCI beaucoup Thautheme tu me sauves !
15 mars 2016 à 09:29
Non l'onglet s'appelle GLOBAL et est rattaché à la feuille 1 (feuil 1)
et le deuxième onglet avec les données s'appelle SX19. et est rattaché à la feuille 5 (feuil5).
J'avais trouvé une macro qui faisait à peu près ce que je demandais sauf que j'ai du insérer une colonne dans mon onglet de données contenant la liste. De là en activant ma macro j'ai réussi à obtenir mes différents onglets avec des noms suivant la liste et aussi que ca écrit le nom de l'onglet dans la cellule F1 de la feuille.
Cependant cela m'embête d'avoir rajouté une colonne dans ma feuille car lorsqu'elle se duplique, elle duplique aussi cette colonne, mais du coup comme j'ai des macros dans chacune de mes feuilles, elles ne s’exécutent pas correctement. Je mets le code ici :
" Option Explicit
Sub Ajouter_Feuilles()
Dim J As Long
Dim Ws As Worksheet
Application.ScreenUpdating = False
Set Ws = ActiveSheet
For J = 1 To Ws.Range("A" & Rows.Count).End(xlUp).Row
If Not FeuilleExiste(Ws.Range("A" & J).Value) Then
Sheets("Modèle").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Ws.Range("A" & J)
Range("F1") = ActiveSheet.Name ' Met le nom de la feuille dans la cellule F1
End If
Next J
Ws.Select
End Sub
'Si l'onglet existe déjà, il n'est pas créé
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function "
Je voudrais éviter de rajouter une colonne supplémentaire dans mon onglet de données et avoir la macro qui aille chercher l'info dans mon onglet Global pour nommer mes différents onglets.
Je ne sais pas si je suis assez claire, en tout cas merci d'avance.
Nono