action d'une macro sur 2 fichiers : Pb affectation
4 réponses
Sky
Bonjour à tous,
Je pense avoir un cas d'école :
J'ai un tableau représentant un planning (que j'appelerais matrice) et pour
lequel j'ai créé un menu personalisé me permettant de trier, insérer une
nouvelle semaine, remettre à zéro les données, etc...
Au début, le planning ne contient qu'une semaine, l'ajout d'une nouvelle
semaine se fait par la recopie de la précédente, avec le changement de nom
(code ci-dessous)
x = ThisWorkbook.Sheets.Count
Sheets(x).Select
Sheets(x).Copy After:=Sheets(x)
Sheets(x + 1).Select
If CDec(Right(Sheets(x).Name, 2)) > 9 Then
Sheets(x + 1).Name = "S " & Right(Sheets(x).Name, 2) + 1
Else
Sheets(x + 1).Name = "S " & Right(Sheets(x).Name, 1) + 1
End If
Range("A6").Select
Ce code fonctionne bien, seul problème étant donné la taille que prendrait
ce planning sur 52 semaines (environ 100 Mo)
Je voudrais donc l'éclater sur les 12 mois.
A mon sens, la solution serait donc
1. enregistrer le fichier matrice
2. effectuer un "enregistrement sous" du fichier, le nommer et
l'enregistrer
3. rappeler le fichier matrice
4. effacer les premières semaines pour ne garder que la dernière
5. renommer la dernière semaine (+1)
J'ai donc créé ce code :
ActiveWorkbook.Save
Dim Periode As Variant
Periode = InputBox("Entrez la période (par ex: FEVRIER 2006", "PERIODE ?")
ActiveWorkbook.SaveAs Filename:="E:\PROJET EN COURS\CONTRATS WORD\" &
Periode
Workbook.Open ("E:\projet en cours\contrats word\planning.xls")
J'ai arrété ici car je suis confronté à plusieurs problèmes :
- le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet
planning.xls alors que le chemin d'accès est bon. Quand je me positionne sur
le menu personalisé, l'affectation de la macro fait référence au fichier
enregistré sous !
- De plus, je ne sais pas comment supprimer les premières semaine pour ne
garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui n'est
pas forcément la plus adéquate. Toutefois, je suis "obligé" de passer par ce
genre de solution car le fichier doit être protégé de toutes parts pour
qu'il n'y ait que de la saisie.
Peut être qu'il existe d'autres solutions plus habile pour arriver à mes
fins.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Rivierre
Bonjour,
J'ai arrété ici car je suis confronté à plusieurs problèmes : - le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet planning.xls alors que le chemin d'accès est bon. Quand je me positionne sur le menu personalisé, l'affectation de la macro fait référence au fichier enregistré sous ! - De plus, je ne sais pas comment supprimer les premières semaine pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de passer par ce genre de solution car le fichier doit être protégé de toutes parts pour qu'il n'y ait que de la saisie. Peut être qu'il existe d'autres solutions plus habile pour arriver à mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le menu dans un fichier à part, par exemple une macro complémentaire. De cette façon, le menu pourrait accéder sans problème aux différents fichiers, et ne serait pas enregistré avec eux. Il faut bien expliciter les chemins au niveau des macros, mais je pense que ça pourrait déjà aller mieux.
Cordialement,
François Rivierre
Bonjour,
J'ai arrété ici car je suis confronté à plusieurs problèmes :
- le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet
planning.xls alors que le chemin d'accès est bon. Quand je me
positionne sur le menu personalisé, l'affectation de la macro fait
référence au fichier enregistré sous !
- De plus, je ne sais pas comment supprimer les premières semaine
pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui
n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de
passer par ce genre de solution car le fichier doit être protégé de
toutes parts pour qu'il n'y ait que de la saisie.
Peut être qu'il existe d'autres solutions plus habile pour arriver à
mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le
menu dans un fichier à part, par exemple une macro complémentaire. De cette
façon, le menu pourrait accéder sans problème aux différents fichiers, et ne
serait pas enregistré avec eux. Il faut bien expliciter les chemins au
niveau des macros, mais je pense que ça pourrait déjà aller mieux.
J'ai arrété ici car je suis confronté à plusieurs problèmes : - le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet planning.xls alors que le chemin d'accès est bon. Quand je me positionne sur le menu personalisé, l'affectation de la macro fait référence au fichier enregistré sous ! - De plus, je ne sais pas comment supprimer les premières semaine pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de passer par ce genre de solution car le fichier doit être protégé de toutes parts pour qu'il n'y ait que de la saisie. Peut être qu'il existe d'autres solutions plus habile pour arriver à mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le menu dans un fichier à part, par exemple une macro complémentaire. De cette façon, le menu pourrait accéder sans problème aux différents fichiers, et ne serait pas enregistré avec eux. Il faut bien expliciter les chemins au niveau des macros, mais je pense que ça pourrait déjà aller mieux.
Cordialement,
François Rivierre
Sky
Bonjour françois,
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
"François Rivierre" a écrit dans le message de news: %
Bonjour,
J'ai arrété ici car je suis confronté à plusieurs problèmes : - le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet planning.xls alors que le chemin d'accès est bon. Quand je me positionne sur le menu personalisé, l'affectation de la macro fait référence au fichier enregistré sous ! - De plus, je ne sais pas comment supprimer les premières semaine pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de passer par ce genre de solution car le fichier doit être protégé de toutes parts pour qu'il n'y ait que de la saisie. Peut être qu'il existe d'autres solutions plus habile pour arriver à mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le menu dans un fichier à part, par exemple une macro complémentaire. De cette façon, le menu pourrait accéder sans problème aux différents fichiers, et ne serait pas enregistré avec eux. Il faut bien expliciter les chemins au niveau des macros, mais je pense que ça pourrait déjà aller mieux.
Cordialement,
François Rivierre
Bonjour françois,
c'est une excellente idée de créer une macro complémentaire dans un nouveau
fichier. Seul problème comment l'a créé ??.
"François Rivierre" <FRiviR2@aol.com> a écrit dans le message de news:
%239rzxPQvFHA.3000@TK2MSFTNGP12.phx.gbl...
Bonjour,
J'ai arrété ici car je suis confronté à plusieurs problèmes :
- le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet
planning.xls alors que le chemin d'accès est bon. Quand je me
positionne sur le menu personalisé, l'affectation de la macro fait
référence au fichier enregistré sous !
- De plus, je ne sais pas comment supprimer les premières semaine
pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui
n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de
passer par ce genre de solution car le fichier doit être protégé de
toutes parts pour qu'il n'y ait que de la saisie.
Peut être qu'il existe d'autres solutions plus habile pour arriver à
mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le
menu dans un fichier à part, par exemple une macro complémentaire. De
cette
façon, le menu pourrait accéder sans problème aux différents fichiers, et
ne
serait pas enregistré avec eux. Il faut bien expliciter les chemins au
niveau des macros, mais je pense que ça pourrait déjà aller mieux.
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
"François Rivierre" a écrit dans le message de news: %
Bonjour,
J'ai arrété ici car je suis confronté à plusieurs problèmes : - le code ci-dessus ne fonctionne pas car il ne trouve plus l'objet planning.xls alors que le chemin d'accès est bon. Quand je me positionne sur le menu personalisé, l'affectation de la macro fait référence au fichier enregistré sous ! - De plus, je ne sais pas comment supprimer les premières semaine pour ne garder que la dernière.
En définitive, cela fait beaucoup de problèmes pour une solution qui n'est pas forcément la plus adéquate. Toutefois, je suis "obligé" de passer par ce genre de solution car le fichier doit être protégé de toutes parts pour qu'il n'y ait que de la saisie. Peut être qu'il existe d'autres solutions plus habile pour arriver à mes fins.
Je ne sais pas pour tout, mais il me semble qu'il serait mieux de créer le menu dans un fichier à part, par exemple une macro complémentaire. De cette façon, le menu pourrait accéder sans problème aux différents fichiers, et ne serait pas enregistré avec eux. Il faut bien expliciter les chemins au niveau des macros, mais je pense que ça pourrait déjà aller mieux.
Cordialement,
François Rivierre
François Rivierre
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire / mettre au point / tester toutes les macros qui te sont nécessaires. La différence par rapport à ton classeur précédent sera que ces macros fonctionneront sur différents classeurs, et seront centralisées dans un seul et même fichier. Une fois que tu as tout bien mis au point, tu enregistres le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à la liste des macros complémentaires (menu "Outils" -> "Macros complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera chargé au démarrage d'Excel, et te permettra d'accéder à tes différents classeurs par mois.
J'espère que ça t'aide :).
Cordialement,
François Rivierre
c'est une excellente idée de créer une macro complémentaire dans un
nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire /
mettre au point / tester toutes les macros qui te sont nécessaires. La
différence par rapport à ton classeur précédent sera que ces macros
fonctionneront sur différents classeurs, et seront centralisées dans un seul
et même fichier. Une fois que tu as tout bien mis au point, tu enregistres
le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à
la liste des macros complémentaires (menu "Outils" -> "Macros
complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera
chargé au démarrage d'Excel, et te permettra d'accéder à tes différents
classeurs par mois.
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire / mettre au point / tester toutes les macros qui te sont nécessaires. La différence par rapport à ton classeur précédent sera que ces macros fonctionneront sur différents classeurs, et seront centralisées dans un seul et même fichier. Une fois que tu as tout bien mis au point, tu enregistres le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à la liste des macros complémentaires (menu "Outils" -> "Macros complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera chargé au démarrage d'Excel, et te permettra d'accéder à tes différents classeurs par mois.
J'espère que ça t'aide :).
Cordialement,
François Rivierre
Sky
ca m'aide énormément
merci beaucoup françois
@+
"François Rivierre" a écrit dans le message de news:
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire / mettre au point / tester toutes les macros qui te sont nécessaires. La différence par rapport à ton classeur précédent sera que ces macros fonctionneront sur différents classeurs, et seront centralisées dans un seul et même fichier. Une fois que tu as tout bien mis au point, tu enregistres le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à la liste des macros complémentaires (menu "Outils" -> "Macros complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera chargé au démarrage d'Excel, et te permettra d'accéder à tes différents classeurs par mois.
J'espère que ça t'aide :).
Cordialement,
François Rivierre
ca m'aide énormément
merci beaucoup françois
@+
"François Rivierre" <FRiviR2@aol.com> a écrit dans le message de news:
eu2qp3QvFHA.2960@tk2msftngp13.phx.gbl...
c'est une excellente idée de créer une macro complémentaire dans un
nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire
/
mettre au point / tester toutes les macros qui te sont nécessaires. La
différence par rapport à ton classeur précédent sera que ces macros
fonctionneront sur différents classeurs, et seront centralisées dans un
seul
et même fichier. Une fois que tu as tout bien mis au point, tu enregistres
le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à
la liste des macros complémentaires (menu "Outils" -> "Macros
complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera
chargé au démarrage d'Excel, et te permettra d'accéder à tes différents
classeurs par mois.
"François Rivierre" a écrit dans le message de news:
c'est une excellente idée de créer une macro complémentaire dans un nouveau fichier. Seul problème comment l'a créé ??.
Tu commences par créer un nouveau fichier vide, dans lequel tu vas écrire / mettre au point / tester toutes les macros qui te sont nécessaires. La différence par rapport à ton classeur précédent sera que ces macros fonctionneront sur différents classeurs, et seront centralisées dans un seul et même fichier. Une fois que tu as tout bien mis au point, tu enregistres le fichier en tant que "macro complémentaire (*.xla)", puis tu l'ajoutes à la liste des macros complémentaires (menu "Outils" -> "Macros complémentaires..." -> "Parcourir..."). A partir de là, ton fichier sera chargé au démarrage d'Excel, et te permettra d'accéder à tes différents classeurs par mois.