Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme
:
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets
? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date dans
une cellule (de l'onglet n° 13 par ex.), modifierait tous les onglets
comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Je ne rencontre pas ce problème. Pourrais-tu publier une copie exacte
du code que tu utilises ?
docm
"j-pascal" wrote in message
news:Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Je ne rencontre pas ce problème. Pourrais-tu publier une copie exacte
du code que tu utilises ?
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eqEKpPUcGHA.1208@TK2MSFTNGP04.phx.gbl...
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Je ne rencontre pas ce problème. Pourrais-tu publier une copie exacte
du code que tu utilises ?
docm
"j-pascal" wrote in message
news:Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus en
plus
limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00", mais ça
ne
change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables mais je
ne
suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour,
Regarde ici, si cela convient
http://cjoint.com/?fgjCQdxwB7
'--------
Sub jj()
Anne_en_cours = InputBox("Entrez les deux derniers chiffres des
fichiers en cours:", "Changement de nom des feuilles")
If Anne_en_cours = "" Then Exit Sub
an = InputBox("Entrez l'année souhaitée:", "Changement de nom des
feuilles") If an = "" Then Exit Sub
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If Right(sh.Name, 2) = Anne_en_cours Then
sh.Name = Mid(sh.Name, 1, Len(sh.Name) - 2) & an
End If
Next
End Sub
Sub jj2()
[a:a] = ""
Dim sh As Worksheet
[a1] = "Liste des onglets de ce classeur"
x = 2
For Each sh In ThisWorkbook.Sheets
If sh.Name <> ActiveSheet.Name Then
Range("a" & x) = sh.Name
x = x + 1
End If
Next
End Sub
'----------
Salutations
JJ
"j-pascal" a écrit dans le message de
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour,
Regarde ici, si cela convient
http://cjoint.com/?fgjCQdxwB7
'--------
Sub jj()
Anne_en_cours = InputBox("Entrez les deux derniers chiffres des
fichiers en cours:", "Changement de nom des feuilles")
If Anne_en_cours = "" Then Exit Sub
an = InputBox("Entrez l'année souhaitée:", "Changement de nom des
feuilles") If an = "" Then Exit Sub
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If Right(sh.Name, 2) = Anne_en_cours Then
sh.Name = Mid(sh.Name, 1, Len(sh.Name) - 2) & an
End If
Next
End Sub
Sub jj2()
[a:a] = ""
Dim sh As Worksheet
[a1] = "Liste des onglets de ce classeur"
x = 2
For Each sh In ThisWorkbook.Sheets
If sh.Name <> ActiveSheet.Name Then
Range("a" & x) = sh.Name
x = x + 1
End If
Next
End Sub
'----------
Salutations
JJ
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Bonjour,
Regarde ici, si cela convient
http://cjoint.com/?fgjCQdxwB7
'--------
Sub jj()
Anne_en_cours = InputBox("Entrez les deux derniers chiffres des
fichiers en cours:", "Changement de nom des feuilles")
If Anne_en_cours = "" Then Exit Sub
an = InputBox("Entrez l'année souhaitée:", "Changement de nom des
feuilles") If an = "" Then Exit Sub
Dim sh As Worksheet
For Each sh In ThisWorkbook.Sheets
If Right(sh.Name, 2) = Anne_en_cours Then
sh.Name = Mid(sh.Name, 1, Len(sh.Name) - 2) & an
End If
Next
End Sub
Sub jj2()
[a:a] = ""
Dim sh As Worksheet
[a1] = "Liste des onglets de ce classeur"
x = 2
For Each sh In ThisWorkbook.Sheets
If sh.Name <> ActiveSheet.Name Then
Range("a" & x) = sh.Name
x = x + 1
End If
Next
End Sub
'----------
Salutations
JJ
"j-pascal" a écrit dans le message de
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Voilà ce je propose comme code:
Sub test()
i = ActiveSheet.Index
For x = 1 To 12
j = Len(Sheets(x + 1).Name)
Sheets(x + 1).Name = Mid(Sheets(x + 1).Name, 1, j - 1) &
Right(Sheets(i).Cells(1, 1).Value, 1)
Next
End Sub
A adapter suivant besoin, la seule obligation est que la date soit
sur la 1ère feuille (les autres sont les mois) et qu'au moment de la
procédure, la feuille 1 soit sélectionnée.
La date est en cells(1,1) mais peut être mise ailleurs
Bon courage
RV
"j-pascal" a écrit dans le message de news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Voilà ce je propose comme code:
Sub test()
i = ActiveSheet.Index
For x = 1 To 12
j = Len(Sheets(x + 1).Name)
Sheets(x + 1).Name = Mid(Sheets(x + 1).Name, 1, j - 1) &
Right(Sheets(i).Cells(1, 1).Value, 1)
Next
End Sub
A adapter suivant besoin, la seule obligation est que la date soit
sur la 1ère feuille (les autres sont les mois) et qu'au moment de la
procédure, la feuille 1 soit sélectionnée.
La date est en cells(1,1) mais peut être mise ailleurs
Bon courage
RV
"j-pascal" <nospam-j-pascal@free.fr> a écrit dans le message de news:
eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Voilà ce je propose comme code:
Sub test()
i = ActiveSheet.Index
For x = 1 To 12
j = Len(Sheets(x + 1).Name)
Sheets(x + 1).Name = Mid(Sheets(x + 1).Name, 1, j - 1) &
Right(Sheets(i).Cells(1, 1).Value, 1)
Next
End Sub
A adapter suivant besoin, la seule obligation est que la date soit
sur la 1ère feuille (les autres sont les mois) et qu'au moment de la
procédure, la feuille 1 soit sélectionnée.
La date est en cells(1,1) mais peut être mise ailleurs
Bon courage
RV
"j-pascal" a écrit dans le message de news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle date
dans une cellule (de l'onglet n° 13 par ex.), modifierait tous les
onglets comme :
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui m'affiche :
Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Ton problème vient de ta déclaration
Dim NouvelleAnnée As Integer
qu'il vaudrait mieux remplacer par
Dim NouvelleAnnée As String
Amicalement
docm
"j-pascal" wrote in message
news:Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Ton problème vient de ta déclaration
Dim NouvelleAnnée As Integer
qu'il vaudrait mieux remplacer par
Dim NouvelleAnnée As String
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eqEKpPUcGHA.1208@TK2MSFTNGP04.phx.gbl...
Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JP
Bonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" <nospam-j-pascal@free.fr> wrote in message
news:eAgHOYNcGHA.4312@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP
Ton problème vient de ta déclaration
Dim NouvelleAnnée As Integer
qu'il vaudrait mieux remplacer par
Dim NouvelleAnnée As String
Amicalement
docm
"j-pascal" wrote in message
news:Bonsoir docm,
Merci, ça marche (presque) parfaitement...
Dans Sub question1 :
Si en D1, j'entre 08, la macro va me renvoyer : jan 8, fév 8, etc
Si je relance, ça donne : jan8, fév8, etc
Si je relance, ça donne : ja8, fé8, etc... (les espaces sont de plus
en plus limités !)
A tout hazard, j'ai modifié le format de D1 en "personnalisé 00",
mais ça ne change rien.
A part ce petit pb, ta macro est parfaite !
Travaillant avec "Option Explicit", j'ai dû définir les variables
mais je ne suis pas sûr du bon choix !
Dim FeuilleSommaire As String
Dim Ligne As Integer
Dim c As Variant
Dim NouvelleAnnée As Integer
Dim Longueur As Integer
Dim NomActuel As String
Dim NouveauNom As String
Merci bcp et peut-être à bientôt ?
JPBonjour j-pascal.
Sub Question2()
'Créer d'abord la feuille sommaire
FeuilleSommaire = "Feuil1"
ligne = 2
For Each c In Worksheets
If c.Name <> "Feuil1" Then
Worksheets("Feuil1").Cells(ligne, 1) = "Feuille " & c.Index
Worksheets("Feuil1").Cells(ligne, 2).NumberFormat = "@"
Worksheets("Feuil1").Cells(ligne, 2) = c.Name
ligne = ligne + 1
End If
Next
End Sub
Sub Question1()
'Changer ensuite le nom des feuilles dont le nom apparait dans la
liste sur la feuille "Sommaire"
FeuilleSommaire = "Feuil1"
'La nouvelle date se trouve en "D1" ; par exemple: 08
NouvelleAnnée = Worksheets(FeuilleSommaire).Range("D1")
Longueur = Len(NouvelleAnnée)
For ligne = 2 To 13
NomActuel = Worksheets(FeuilleSommaire).Cells(ligne, 2)
If NomActuel <> "" Then
NouveauNom = Mid(NomActuel, 1, Len(NomActuel) - Longueur) &
NouvelleAnnée Sheets(NomActuel).Name = NouveauNom
Worksheets(FeuilleSommaire).Cells(ligne, 2) = NouveauNom
End If
Next
End Sub
Amicalement
docm
"j-pascal" wrote in message
news:Bonjour à tous,
J'ai un classeur avec 14 onglets, dont les 12 premiers sont :
jan 06
fév 06
mar 06
avr 06
etc.
Est-il possible de faire une macro, qui à partir d'une nouvelle
date dans une cellule (de l'onglet n° 13 par ex.), modifierait
tous les onglets comme
jan 07
fév 07
mars 07
etc.
?
Question 2 : comment fait-on pour avoir une liste de tous les noms
d'onglets ? Dans l'onglet 13, puis-je avoir une liste qui
m'affiche : Feuille 1 : jan 06
Feuille 2 : fév 06
Feuille 3 : mar 06
etc.
?
Un grand merci d'avance à ceux qui veulent bien m'aider.
JP