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

maj macro par une macro

8 réponses
Avatar
ed
bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed

8 réponses

Avatar
Jean-Claude
J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une
macro qui me permette d'actualiser ces données "textes" de ma macro
initiale pour qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et
2003 en 2006.



En supposant que la 1ère année soit l'année en cours - 2 quoiqu'il
arrive, peut-être que
Année3=year(now)
Année2=Année1-1
Année1=Année1-2

etc...

___________________________
A+
Jean-Claude
- Evitez lez gaz mous


Avatar
JLuc
*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
ed
C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O






Avatar
bourby
bonjour,

dans ces cas là je crée une feuille (qu'on peut même cacher), dans
laquelle je nomme une plage, qui va contenir les données qu'on veut
pouvoir changer. Et je fais travailler la macro sur
range("maPlage")(i),
pour i = 1 à range("maPlage").rows.count

En plus, ça évite que d'aucuns aillent tripoter dans les macros...

Cela répond-il au problème?


Bourby

C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed
--

____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O








Avatar
ed
Merci Bourby, cela m'ouvre des horizons...
Mais au risque de me répéter et de lasser... je suis une bille en excel
Pourrais-tu développer?
Comment puis-je faire pour que mon 2001 devienne 2004 etc??? parce que
d'aucuns, cé tout ce qu'ils voient... Si c'est pas un useform mais une
feuille, c'est parfait.
Merci pour ton aide et ta patience
ed


bonjour,

dans ces cas là je crée une feuille (qu'on peut même cacher), dans
laquelle je nomme une plage, qui va contenir les données qu'on veut
pouvoir changer. Et je fais travailler la macro sur
range("maPlage")(i),
pour i = 1 à range("maPlage").rows.count

En plus, ça évite que d'aucuns aillent tripoter dans les macros...

Cela répond-il au problème?


Bourby

C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed
--

____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O











Avatar
bourby
dans ta feuille "tableau"
tu nommes une plage de3 cellules "années" (insertion, nom,....)
et tu mets dedans 2004, 2005 et 2006.


Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = sheets("tableau").range("années")(1) & varnom
Sheets(14).Name = sheets("tableau").range("années")(2) & varnom
Sheets(15).Name = sheets("tableau").range("années")(3) & varnom


(et pourquoi varnom / varnom1 ?)

Si tu veux changer d'année, tu changes les 3 années dans la plage
"années" et tu réexécutes ta macro

Cordialement

Bourby


PS: attention, avec les nombres 2001, etc... dans les cellules, déclare
les en format texte AVANT d'encoder les valeurs.



Merci Bourby, cela m'ouvre des horizons...
Mais au risque de me répéter et de lasser... je suis une bille en excel
Pourrais-tu développer?
Comment puis-je faire pour que mon 2001 devienne 2004 etc??? parce que
d'aucuns, cé tout ce qu'ils voient... Si c'est pas un useform mais une
feuille, c'est parfait.
Merci pour ton aide et ta patience
ed


bonjour,

dans ces cas là je crée une feuille (qu'on peut même cacher), dans
laquelle je nomme une plage, qui va contenir les données qu'on veut
pouvoir changer. Et je fais travailler la macro sur
range("maPlage")(i),
pour i = 1 à range("maPlage").rows.count

En plus, ça évite que d'aucuns aillent tripoter dans les macros...

Cela répond-il au problème?


Bourby

C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed
--

____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O












Avatar
ed
Merci Bourby, sauf que je n'ai pas qu'une macro à actualiser mais un paquet
de petites qui ont toutes référence à des "années" ou à du texte. Et puis cé
pas moi qui vait mettre à jour. Alors s'il faut naviguer dans excel, ça
marchera pas.
Aussi, l'idée d'une macro qui met à jour une autre macro m'Avait séduit.
c'est pas grave. Merci quand même pour ton aide, je vais chercher davantage
et reviendrai avec une question plus adaptée.
Bonne fin de weekend.
ed



dans ta feuille "tableau"
tu nommes une plage de3 cellules "années" (insertion, nom,....)
et tu mets dedans 2004, 2005 et 2006.


Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = sheets("tableau").range("années")(1) & varnom
Sheets(14).Name = sheets("tableau").range("années")(2) & varnom
Sheets(15).Name = sheets("tableau").range("années")(3) & varnom


(et pourquoi varnom / varnom1 ?)

Si tu veux changer d'année, tu changes les 3 années dans la plage
"années" et tu réexécutes ta macro

Cordialement

Bourby


PS: attention, avec les nombres 2001, etc... dans les cellules, déclare
les en format texte AVANT d'encoder les valeurs.



Merci Bourby, cela m'ouvre des horizons...
Mais au risque de me répéter et de lasser... je suis une bille en excel
Pourrais-tu développer?
Comment puis-je faire pour que mon 2001 devienne 2004 etc??? parce que
d'aucuns, cé tout ce qu'ils voient... Si c'est pas un useform mais une
feuille, c'est parfait.
Merci pour ton aide et ta patience
ed


bonjour,

dans ces cas là je crée une feuille (qu'on peut même cacher), dans
laquelle je nomme une plage, qui va contenir les données qu'on veut
pouvoir changer. Et je fais travailler la macro sur
range("maPlage")(i),
pour i = 1 à range("maPlage").rows.count

En plus, ça évite que d'aucuns aillent tripoter dans les macros...

Cela répond-il au problème?


Bourby

C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed
--

____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O















Avatar
ed
Pardon, je n'ai pas répondu à ta question... c'est une erreur de recopiage.
varnom est le bon. ,Mon doigt a dérapé
ed



dans ta feuille "tableau"
tu nommes une plage de3 cellules "années" (insertion, nom,....)
et tu mets dedans 2004, 2005 et 2006.


Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = sheets("tableau").range("années")(1) & varnom
Sheets(14).Name = sheets("tableau").range("années")(2) & varnom
Sheets(15).Name = sheets("tableau").range("années")(3) & varnom


(et pourquoi varnom / varnom1 ?)

Si tu veux changer d'année, tu changes les 3 années dans la plage
"années" et tu réexécutes ta macro

Cordialement

Bourby


PS: attention, avec les nombres 2001, etc... dans les cellules, déclare
les en format texte AVANT d'encoder les valeurs.



Merci Bourby, cela m'ouvre des horizons...
Mais au risque de me répéter et de lasser... je suis une bille en excel
Pourrais-tu développer?
Comment puis-je faire pour que mon 2001 devienne 2004 etc??? parce que
d'aucuns, cé tout ce qu'ils voient... Si c'est pas un useform mais une
feuille, c'est parfait.
Merci pour ton aide et ta patience
ed


bonjour,

dans ces cas là je crée une feuille (qu'on peut même cacher), dans
laquelle je nomme une plage, qui va contenir les données qu'on veut
pouvoir changer. Et je fais travailler la macro sur
range("maPlage")(i),
pour i = 1 à range("maPlage").rows.count

En plus, ça évite que d'aucuns aillent tripoter dans les macros...

Cela répond-il au problème?


Bourby

C'est une super idée JLuc. Exactement. Je sais mais l'équipe veut avoir la
main sur la mise à jour, style, j'ai un userform et je dis... je veux mettre
à jour... même si cé une fois par an. et ils sont moins bons que moi...
imagine...

J'ai essayé d'engistrer une macro en faisant rechercher/remplacer dans le
visual basic mais le code magique n'est pas sorti... Aurais tu une idée de
comment l'écrire?
Merci pour l.idée en tous cas.
cordialement
ed


*Bonjour ed*,
Et un recherche/remplace sur tes modules ? tu n'a a le faire qu'une
fois apres tout ! :oÞ

bonsoir,
c'est l'été, le weekend... aussi j'ai pensé qu'une petite question de
derrière un écran serait une bonne idée...:-))

J'ai trois années "2001" "2002" "2003". Je souhaiterais créer une macro qui
me permette d'actualiser ces données "textes" de ma macro initiale pour
qu'elles deviennent 2004 2005 2006 par exemple.
Est-ce possible?

Voici un ex de macro à actualiser.
Sheets("Tableau").Select
varnom = Range("D15").Value
Sheets(12).Name = varnom1
Sheets(13).Name = "2001 " & varnom
Sheets(14).Name = "2002 " & varnom
Sheets(15).Name = "2003 " & varnom

Je souhaiterais pouvoir actualiser 2001 en 2004 , 2002 en 2005 et 2003 en
2006.

que ce soit en module ou en private sub...
Qui pourrait me donner un coup de pouce? [ un ben groooos]??

Merci pour tout
ed
--

____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O