Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

manipulation d'onglets....excel2003

13 réponses
Avatar
maud s
Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane

10 réponses

1 2
Avatar
garnote
Bonjour,

Pas sûr de comprendre mais je vais supposer que ton classeur
ne contient qu'une seule feuille nommée XXX et que A1 contient
le nombre 6. alors dans ce cas, cette macro devrait convenir :

Sub Nommer_Onglets()
n = Sheets("XXX").[a1]
Sheets("XXX").Name = "XXX" & "-" & "XX1"
For i = 1 To n - 1
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "XX" & i & "-" & "XX" & i + 1
Next i
End Sub

Le symbole / n'est pas accepté dans un nom de feuille.
Je l'ai donc remplacé par le symbole -.

Qu'en penses-tu ?

Serge





"maud s" a écrit dans le message de news:
Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane



Avatar
Jacky
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane



Avatar
Jacky
Re..

Le caractères "/" étant interdit pour un nom de feuille, j'ai remplacer par
"_"

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane







Avatar
maud s
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié de
dire que le nom des onglet pourvait contenir plus de 3 caracteres (meme
pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane








Avatar
Jacky
RE...
(meme pouvant contenir 20 caracteres)





Et..... si tu testais le code proposé.......

--
Salutations
JJ


"maud s" a écrit dans le message de news:
%
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié de
dire que le nom des onglet pourvait contenir plus de 3 caracteres (meme
pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane












Avatar
maud s
euh oublier mon dernier commentaire c est bon ca marche/.....

merci bcps..

juste une chose savez vous comment changer tous les n-ièmes caracteres des
noms des onglets.. je voudrais changer pour tous les onglets qui finissent
par +1 les caracteres numéros 5 et 6 iemes caracteres en partant de la
droite

exemple P_xxx yyyy R+7-z+1 je voudrais changer automatiquement le + et le
caractere a sa droite..donnant par exemple:

P_xxx yyyy Rtt-z+1

merci d avance




"maud s" a écrit dans le message de news:
%
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié de
dire que le nom des onglet pourvait contenir plus de 3 caracteres (meme
pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane













Avatar
garnote
Sub Nommer_Onglets()
v = ActiveSheet.[a1]
n = ActiveSheet.Name
ActiveSheet.Name = n & "-" & n & "1"
For i = 1 To v - 1
Set ici = ActiveSheet
Sheets.Add , ici
ActiveSheet.Name = n & i & "-" & n & i + 1
Next i
End Sub

Serge



"maud s" a écrit dans le message de news: %
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié de dire que le nom des onglet pourvait contenir
plus de 3 caracteres (meme pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news: %
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:
Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane












Avatar
Jacky
Re...
C'est une nouvelle question ??
Ou dans la foulé de la création des précédentes feuilles.
Si oui sur les feuilles qui viennent d'être crées ou toutes les feuilles
présentes ?

--
Salutations
JJ


"maud s" a écrit dans le message de news:

euh oublier mon dernier commentaire c est bon ca marche/.....

merci bcps..

juste une chose savez vous comment changer tous les n-ièmes caracteres des
noms des onglets.. je voudrais changer pour tous les onglets qui finissent
par +1 les caracteres numéros 5 et 6 iemes caracteres en partant de la
droite

exemple P_xxx yyyy R+7-z+1 je voudrais changer automatiquement le + et
le caractere a sa droite..donnant par exemple:

P_xxx yyyy Rtt-z+1

merci d avance




"maud s" a écrit dans le message de news:
%
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié
de dire que le nom des onglet pourvait contenir plus de 3 caracteres
(meme pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE 20.

merci bcps de botre aide....

stefane

















Avatar
maud s
toutes les feuilles qui viennent d etre créer..

merci d avance



"Jacky" a écrit dans le message de news:

Re...
C'est une nouvelle question ??
Ou dans la foulé de la création des précédentes feuilles.
Si oui sur les feuilles qui viennent d'être crées ou toutes les feuilles
présentes ?

--
Salutations
JJ


"maud s" a écrit dans le message de news:

euh oublier mon dernier commentaire c est bon ca marche/.....

merci bcps..

juste une chose savez vous comment changer tous les n-ièmes caracteres
des noms des onglets.. je voudrais changer pour tous les onglets qui
finissent par +1 les caracteres numéros 5 et 6 iemes caracteres en
partant de la droite

exemple P_xxx yyyy R+7-z+1 je voudrais changer automatiquement le + et
le caractere a sa droite..donnant par exemple:

P_xxx yyyy Rtt-z+1

merci d avance




"maud s" a écrit dans le message de news:
%
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié
de dire que le nom des onglet pourvait contenir plus de 3 caracteres
(meme pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE
20.

merci bcps de botre aide....

stefane






















Avatar
Jacky
Re...
toutes les feuilles qui viennent d etre créer..


Théoriquement et pratiquement aussi d'ailleurs ;o)), il n'y a que la
première créé qui peut se terminer par "1"
'--------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
If Right(ActiveSheet.Name, 2) = "+1" Then ActiveSheet.Name =
Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 6) & "tt" &
Right(ActiveSheet.Name, 4)
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'-------------
Ps Attention ==>limite= 31 caractères pour un nom de feuille
--
Salutations
JJ


"maud s" a écrit dans le message de news:
uZe%
toutes les feuilles qui viennent d etre créer..

merci d avance



"Jacky" a écrit dans le message de news:

Re...
C'est une nouvelle question ??
Ou dans la foulé de la création des précédentes feuilles.
Si oui sur les feuilles qui viennent d'être crées ou toutes les feuilles
présentes ?

--
Salutations
JJ


"maud s" a écrit dans le message de news:

euh oublier mon dernier commentaire c est bon ca marche/.....

merci bcps..

juste une chose savez vous comment changer tous les n-ièmes caracteres
des noms des onglets.. je voudrais changer pour tous les onglets qui
finissent par +1 les caracteres numéros 5 et 6 iemes caracteres en
partant de la droite

exemple P_xxx yyyy R+7-z+1 je voudrais changer automatiquement le + et
le caractere a sa droite..donnant par exemple:

P_xxx yyyy Rtt-z+1

merci d avance




"maud s" a écrit dans le message de news:
%
MERCI BCPS pour votre aide.... mais zuuuuuuuuuuttttttttttt j ai oublié
de dire que le nom des onglet pourvait contenir plus de 3 caracteres
(meme pouvant contenir 20 caracteres)


"Jacky" a écrit dans le message de news:
%
Bonsoir,

J'ai pris en compte que XXX peut être remplacé par autre chose
La macro est lancer a partir de la feuille XXX
'--------------
Sub jj()
On Error GoTo erreur
Dim x As String
nom = ActiveSheet.Name
x = Left(ActiveSheet.Name, Len(ActiveSheet.Name) - 1)
Sheets.Add.Name = ActiveSheet.Name & "_" & x & "1"
For i = 2 To Sheets(nom).[a1]
Sheets.Add.Name = x & i - 1 & "_" & x & i
Next
Exit Sub
erreur:
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
Resume Next
End Sub
'----------------



--
Salutations
JJ


"maud s" a écrit dans le message de news:

Bonjour

Voila j ai un fichier contenant une feuille nommée XXX..
j ai une cellule A1 par exemple qui contient le chiffre 6

je souhaiterais
Q une macro m'execute une création d onglet allant de XXX aaa / XXX
aaa(+1)

exemple donc 6 en A1
onglet XXX
ce qui donnerais
1ER ONGLET XXX / XX1
2EME ONGLET XX1 / XX2
3EME ONGLET XX2 / XX3


DERNIER ONGLET XX5/XX6

S ARRETE A 6 PARCE QU EN A1 J AI MIS LE CHIFFRE 6 MAIS IL PEUT ETRE
20.

merci bcps de botre aide....

stefane


























1 2