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

Nom onglet avec date

13 réponses
Avatar
ed
Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1...etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed

10 réponses

1 2
Avatar
FFO
Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!



Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1...etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed




Avatar
ed
Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed


Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!



Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1...etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed






Avatar
FFO
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed


Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!



Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1...etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed








Avatar
dunkelzahn
Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire d e même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives pu isque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed



Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!




Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant l e nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suiva nt ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1.. .etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont l e même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape interm édiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed








Avatar
ed
Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un onglet,
je ne parviens pas à nommer les feuilles concernées de façon transitoire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourquoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation et voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille concernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed


Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed



Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!




Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed














Avatar
FFO
Quelle est le moyen que tu utilise si mystérieux qui permet le renommage par
année et qui interdit tout autre renommage
Je suis trés curieux de le découvrire
Merci donc de me donner ces éclaircissements et peut être te donner la
solution


Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un onglet,
je ne parviens pas à nommer les feuilles concernées de façon transitoire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourquoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation et voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille concernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed


Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed



Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!




Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed
















Avatar
ed
Loin de moi l'idée de prétendre qu'une force mystérieuse empêcherait de
renommer deux fois de suite un onglet, une fois en bleind et une autre fois,
celle de mon choix... Appelons cette force mystérieuse qui m'habite
l'ignorance !

Voici la private sub que j'ai mise à chaque feuille que je souhaite renommer.

Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next ' cela m'empeche de buguer qd je descends d'une année
nom = "Année" & Sheets("A").Range("A10") ' pour l'année N / je change de
range pour l'année N-1... etc.
Me.Name = nom
End Sub

Merci encore !
ed


Quelle est le moyen que tu utilise si mystérieux qui permet le renommage par
année et qui interdit tout autre renommage
Je suis trés curieux de le découvrire
Merci donc de me donner ces éclaircissements et peut être te donner la
solution


Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un onglet,
je ne parviens pas à nommer les feuilles concernées de façon transitoire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourquoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation et voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille concernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed


Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed



Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!




Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed


















Avatar
FFO
Je commence à comprendre ton souci
Le renommage des onglets au lieu d'être réalisé par un seul et même code est
réalisé par autant de code qu'il y a de feuille suceptible à renommer
Est ce bien celà ???
Et donc la difficulté pour une année anterieure d'être déjà utilisé par une
autre feuille
Il n'y a donc aucun lien dans la dénomation de chacune des feuilles
Je souhaiterai savoir dans l'hypothèse d'un doublon potentiel quelle option
tu souhaites pour le nom de la feuille traité:
La même année avec un complément du style AAAA-2
ou une autre année ????
Il est tout à fait possible d'analyser les noms existants pour agir dans un
sens ou dans l'autre à inclure dans chaque onglet concerné par un renommage
potentiel

Ce code pour un nom existant déclenche un message:

For Each ws In Worksheets
If ws.Name = nom Then
MsgBox (ws.Name & "-existant")
End If
Next ws

Il suffirait de l'adapter en fonction de ton besoin

Qu'en dis tu ???
Merci de me donner ton avis sur cette solution


Loin de moi l'idée de prétendre qu'une force mystérieuse empêcherait de
renommer deux fois de suite un onglet, une fois en bleind et une autre fois,
celle de mon choix... Appelons cette force mystérieuse qui m'habite
l'ignorance !

Voici la private sub que j'ai mise à chaque feuille que je souhaite renommer.

Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next ' cela m'empeche de buguer qd je descends d'une année
nom = "Année" & Sheets("A").Range("A10") ' pour l'année N / je change de
range pour l'année N-1... etc.
Me.Name = nom
End Sub

Merci encore !
ed


Quelle est le moyen que tu utilise si mystérieux qui permet le renommage par
année et qui interdit tout autre renommage
Je suis trés curieux de le découvrire
Merci donc de me donner ces éclaircissements et peut être te donner la
solution


Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un onglet,
je ne parviens pas à nommer les feuilles concernées de façon transitoire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourquoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation et voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille concernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed


Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!


Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte...
En tous les cas, merci pour ton aide.
ed



Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!




Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed




















Avatar
dunkelzahn
Bonjour,

Bien qu'ayant lu les messages suivants, je me permets de reposer la
question parce qu'il y a une chose que je ne comprends pas : tu dis
que toutes les feuilles ne sont pas à renommer. Soit. Mais est ce que
les feuilles à renommer n'ont elles pas un format spécifique et
celles à ne pas renommer un autre format ?
Ou alors l'ensemble est totalement hétérogène ?
Peux tu donner un exemple de tes onglets pour que je puisse mieux
comprendre ?

On 3 mai, 09:11, ed wrote:
Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un on glet,
je ne parviens pas à nommer les feuilles concernées de façon transi toire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourq uoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation e t voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille conc ernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed




Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro d e la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir fai re de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrive s puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de c ode et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!




Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feui lles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte. ..
En tous les cas, merci pour ton aide.
ed





Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transit oire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!






Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concerna nt le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d' une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affecta tion des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieu res sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement s uivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N -1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2 004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lor s du renom des
onglets, il y a bien évidemment un moment où deux onglets o nt le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me per met pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape int ermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed- Masquer le texte des messages précédents -






- Afficher le texte des messages précédents -







Avatar
ed
Hello Dunkelzahn,
je vais tenter de répondre à ta question. Toutes les feuilles sont
parfaitement hétérogènes. Par ailleurs, pardonne moi mais je n'ai pas compris
qd tu disais "l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ? ". En réalité, le nom fait appel à des dates mais en format texte.
Autrement dit, le pb est plutot dans le doublon du nom que dans la date elle
meme.

Hello FFO,
Merci pour cette nouvelle piste. Effectivement, mettre un espace ou qqchose
du genre qui permette d'éviter le doublon est une idée qui me plait. Sauf que
j'ai essayé d'adapter ton code et que ça bugue... ws reste vide... Je vais
tenter de trouver la bonne adaptation à mon cas.

Encore merci !
ed


Bonjour,

Bien qu'ayant lu les messages suivants, je me permets de reposer la
question parce qu'il y a une chose que je ne comprends pas : tu dis
que toutes les feuilles ne sont pas à renommer. Soit. Mais est ce que
les feuilles à renommer n'ont elles pas un format spécifique et
celles à ne pas renommer un autre format ?
Ou alors l'ensemble est totalement hétérogène ?
Peux tu donner un exemple de tes onglets pour que je puisse mieux
comprendre ?

On 3 mai, 09:11, ed wrote:
Bonjour et merci FFO et dunkelzahn pour vos réponses....

Préparez vous à entrer dans les ordres car, si je sais renommer un onglet,
je ne parviens pas à nommer les feuilles concernées de façon transitoire puis
avec le bon libellé.

par ailleurs, toutes les feuilles ne sont pas à renommer... c'est pourquoi
je n'avais pas utilisé for i to sheets.count... ou d'incrémentation et voilà
pkoi, je ne lance pas de macro mais ai inséré sur chaque feuille concernée
une private sub... qui marche bien qd je monte en année mais qui montre un
disfonctionnement (doublon) quand je redescends...

Encore merci.
ed




Bonsoir,

Pourquoi ne pas passer par le codename de la feuille ? Le codename
étant le nom d'origine de la feuille (FeuilX où X est le numéro de la
feuille) et en partant du principe que l'incrémentation de la feuille
est proportionnelle à la numérotation des feuilles ca pourrait aider
non ?

On 2 mai, 20:39, FFO wrote:
Ed !!!
Si tu arrives à renommer par année tes onglet tu doit pouvoir faire de même
avec les noms transitoires ou je me fait moine !!!
Dans la macro qui te permet de renommer tes années (et tu y arrives puisque
c'est le coeur de tes explications) tu mets juste avant mon bout de code et
celà doit obligatoirement fonctionner ou j'en perds mon latin

Essaie et dis moi !!!




Merci FFO.
Pour mon cas, c'était ma base d'idée mais cela ne fonctionne po.
Je vois plusieurs raisons:
- certaines feuilles ont des noms "fixes"
- le nom des onglets change par "private sub"
- j'ai fait l'essai mais cela m'a bien numéroté toutes les feuilles de 1 à x
mais après cela, le nom que je souhaite n'est pas pris en compte....
En tous les cas, merci pour ton aide.
ed





Salut ed
une idée comme ça : pourquoi ne pas passer par un nom transitoire avant le
nom définitif par année avec un code du style

For I = 1 To Sheets.Count
Sheets(I).Name = I
Next

Puis donc de renommer sans difficulté par année

Qu'en dis tu ???

Dis moi !!!






Bonjour à tous,
J'ai besoin de votre aide sur un détail à régler concernant le nom de mes
onglets.

En feuilB dans la cellule A10, j'ai récupéré la valeur d'une autre cellule
de la feuilA cell100. [Il s'agit d'une année en format TEXTE. Je précise !]
Cette valeur une fois en ma feuille B donne lieu à l'Affectation des années
antérieures.
Par ex. Si la valeur initiale est 2005, les années antérieures sont 2004 et
2003.
Cela implique que mes onglets sont renommés automatiquement suivant ces
valeurs.
Chaque feuille a sa private sub
Private Sub Worksheet_Calculate()
Dim nom As String
On Error Resume Next
nom = "Année" & Sheets("A").Range("A10") 'pour l'année N
nom = "Année" & Sheets("A").Range("A11") 'pour l'année N-1....etc.
Me.Name = nom
End Sub

Mon pb est:
Si je mets à jour la valeur initiale en passant de 2005 à 2004. Pas de pb.
Si je mets à jour en passant de 2004 à 2005, j'ai un pb lors du renom des
onglets, il y a bien évidemment un moment où deux onglets ont le même nom...
et ça plante.
On error Resume Next me permet d'éviter le bug mais ne me permet pas d'avoir
assurément la bonne année.
L'idée que j'ai trouvé serait de passer par une étape intermédiaire, cad,
réinitialiser les années. Mais je ne sais pas faire...
Qui pourrait m'aider ?..

Merci d'avance.
ed- Masquer le texte des messages précédents -






- Afficher le texte des messages précédents -












1 2