OVH Cloud OVH Cloud

copie de classeur ET des modules d'icelui

14 réponses
Avatar
sabatier
bonjour mes bien chers frères et soeurs...
c'est ma première question de l'année mais gaffe, AV, toi qui es
d'astreinte, j'en ai encore 7459 à exposer ici avant le 31 décembre
2003, s'entend...
la voici donc :
si je ne m'abuse, losqu'on copie un classeur, les contenus des modules
y compris le ThisWorkbook ne sont pas copiés (j'ai pu vérifier que seuls
les Click des Commandbutton dans les modules de feuille suivent le
movement) ; que faudrait-il rajouter dans cette proc

With Worksheets
.Copy
End With

pour que les modules s'installent dans le nouveau classeur avec leur
contenu?
merci par avance
jps

4 réponses

1 2
Avatar
Philippe.R
Bonjour JP,
que penses-tu si je modifies lepetitchose par groscont'auraisputrouvertoutseul?
Je crains que le nom ne soit rejeté, notamment du fait de la présence de caractères interdits...

;o))
--
Amicales Salutations

"sabatier" a écrit dans le message de news:
ah astucieux, philippe, ce truc...
que penses-tu si je modifies lepetitchose par groscont'auraisputrouvertoutseul?
merci en tous cas je vais adapter tout cela à mes répertoires et en avant la zizique...
bonne soirée et à +
jps

"Philippe.R" wrote:

Bonsoir JP,
Un truc comme ça peut être...
Dans ton classeur une cellule nommée lepetitchose
et dans ta procédure:

dim leNom as string, leNouvNom as string
leNom=thisworkbook.name
leNouvNom=lenom & [lepetitchose]
ActiveWorkbook.SaveAs Filename:=taratataBouéesSauegardes" & leNouvNom
[lepetitchose]=[lepetitchose]+1

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
merci, alain, mais cela suppose que je dois baptiser le nouveau classeur
à
chaque fois ou bien y-a-il une astuce pour lui donner le nom de l'autre
en
lui ajoutant un p'tit keukechose pour le différencier de façon à ce que
la
macro s'exécute quel que soit le classeur à copier....
à vot' bon coeur, m'sieurs dames
jps

AV wrote:

si je ne m'abuse, losqu'on copie un classeur, les contenus des modules
y compris le ThisWorkbook ne sont pas copiés


Et si au lieu de copier les feuilles tu faisais un :
ActiveWorkbook.SaveAs Filename:=".......

AV










Avatar
Philippe.R
Bonjour Jean Paul,
leNom + 1 ne devrait pas fonctionner, avec une chaîne unie via un opérateur arithmétique à un nombre.
La concaténation leNom & 1 risque de donner à la longue un leNom111111111111111111111111 pas forcément
très lisible....
Une variable ne conservera pas sa valeur d'une utilisation à l'autre, d'où la suggestion d'un nom dans
le classeur.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
et je pense à un truc : plutôt que de nommer une cellule, on pourrait peut-être écrire comme cela :

dim leNom as string
leNom=thisworkbook.name
ActiveWorkbook.SaveAs Filename:=C:taratataBouéesSauvegardes" & leNom + 1

je vais essayer mais ça me semble trop simple
jps

"Philippe.R" wrote:

Bonsoir JP,
Un truc comme ça peut être...
Dans ton classeur une cellule nommée lepetitchose
et dans ta procédure:

dim leNom as string, leNouvNom as string
leNom=thisworkbook.name
leNouvNom=lenom & [lepetitchose]
ActiveWorkbook.SaveAs Filename:="C:taratataBouéesSauegardes" & leNouvNom
[lepetitchose]=[lepetitchose]+1

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
merci, alain, mais cela suppose que je dois baptiser le nouveau classeur
à
chaque fois ou bien y-a-il une astuce pour lui donner le nom de l'autre
en
lui ajoutant un p'tit keukechose pour le différencier de façon à ce que
la
macro s'exécute quel que soit le classeur à copier....
à vot' bon coeur, m'sieurs dames
jps

AV wrote:

si je ne m'abuse, losqu'on copie un classeur, les contenus des modules
y compris le ThisWorkbook ne sont pas copiés


Et si au lieu de copier les feuilles tu faisais un :
ActiveWorkbook.SaveAs Filename:=".......

AV










Avatar
sabatier
bien chef, merci chef, mes respects chef, joyeux réveillon chef (c'est pas de la soupe, c'est du rata
etc..)
jps

"Philippe.R" wrote:

Bonjour Jean Paul,
leNom + 1 ne devrait pas fonctionner, avec une chaîne unie via un opérateur arithmétique à un nombre.
La concaténation leNom & 1 risque de donner à la longue un leNom111111111111111111111111 pas forcément
très lisible....
Une variable ne conservera pas sa valeur d'une utilisation à l'autre, d'où la suggestion d'un nom dans
le classeur.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
et je pense à un truc : plutôt que de nommer une cellule, on pourrait peut-être écrire comme cela :

dim leNom as string
leNom=thisworkbook.name
ActiveWorkbook.SaveAs Filename:=C:taratataBouéesSauvegardes" & leNom + 1

je vais essayer mais ça me semble trop simple
jps





Avatar
Philippe.R
Pouvez fumer !
Même du bison si z'en trouvez !
;o)))
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
bien chef, merci chef, mes respects chef, joyeux réveillon chef (c'est pas de la soupe, c'est du rata
etc..)
jps

"Philippe.R" wrote:

Bonjour Jean Paul,
leNom + 1 ne devrait pas fonctionner, avec une chaîne unie via un opérateur arithmétique à un
nombre.


La concaténation leNom & 1 risque de donner à la longue un leNom111111111111111111111111 pas
forcément


très lisible....
Une variable ne conservera pas sa valeur d'une utilisation à l'autre, d'où la suggestion d'un nom
dans


le classeur.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"sabatier" a écrit dans le message de news:
et je pense à un truc : plutôt que de nommer une cellule, on pourrait peut-être écrire comme cela
:




dim leNom as string
leNom=thisworkbook.name
ActiveWorkbook.SaveAs Filename:=C:taratataBouéesSauvegardes" & leNom + 1

je vais essayer mais ça me semble trop simple
jps








1 2