manipulation d'onglets....excel2003

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #16766441
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"
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



Jacky
Le #16766431
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"
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



Jacky
Le #16766411
Re..

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

--
Salutations
JJ


"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"
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







maud s
Le #16766891
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" %
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"
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








Jacky
Le #16767091
RE...
(meme pouvant contenir 20 caracteres)





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

--
Salutations
JJ


"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" %
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"
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












maud s
Le #16767311
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" %
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" %
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"
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













garnote
Le #16767451
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"
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"
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"
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












Jacky
Le #16767591
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"
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" %
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" %
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"
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

















maud s
Le #16768071
toutes les feuilles qui viennent d etre créer..

merci d avance



"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"
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" %
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" %
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"
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






















Jacky
Le #16768721
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" uZe%
toutes les feuilles qui viennent d etre créer..

merci d avance



"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"
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" %
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" %
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"
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


























Publicité
Poster une réponse
Anonyme