XL 2019 exécution macro a l ouverture du classeur

Quicksland

XLDnaute Occasionnel
Bonsoir le forum ;)

Dans mon fichier ci joint j'ai plusieurs macros

En feuil1 (lundi) , feuil4 (mardi) , feuil5 (mercredi) , feuil6 (jeudi) et feuil7 (vendredi)

je souhaiterai que toutes les macros s'active a l'ouverture du fichier même si le fichier source est fermer

Merci pour votre aide 👍
 

Pièces jointes

  • FICHE PIC NIC 1 S P.xlsm
    530.2 KB · Affichages: 11
Solution
Re Bonjour,
Voici une nouvelle PJ réaliste par rapport à votre besoin.
1- J'ai viré toutes les macros partout. Elles n'ont rien à faire dans les feuilles mais dans un module. En PJ elles sont dans le module "Mise_A_Jour"
2- Dans ThisworkBook il y a la macro Workbook_Open qui s'exécute à l'ouverture du fichier. Si pas de bug vous n'avez pas à y toucher. ( NB j'ai mis le On error goto Fin en commentaires pour la mise au point )
3- Dans le module "Mise_A_Jour", il y a la macro "UpdateSheet" qui fera réellement la mise à jour d'une feuille. Vous n'avez pas à y toucher car elle est générique, elle recevra les données de l'autre module "Mise_a_jour_onglets"
4- J'ai construit la macro "Mise_a_jour_onglets" de façon structurée. Pour la...

Quicksland

XLDnaute Occasionnel
Reprenons à 0.
Prenez cette PJ, dézippez là et mettez là sur votre bureau. ( un zip pour que les noms à l'intérieur ne change pas )
Dedans il y a deux fichiers. Dans le VBA du PICNIC changer le chemin avec le votre.
Dedans il n'y a que la mise à jour du Lundi pour test avec seulement :
VB:
'----------------------------------------------------------------------------------------------------------
'LUNDI
    ' Déclaration du chemin des fichiers à lire, du nom du fichier et du nom de l'onglet à écrire
    Chemin = "C:\Users\PC_PAPA\Desktop\Quicksland\"
    NomFichier = "1 CAMUS  LA RIBAMBELLE 1.xlsm"
    OngletLu = "PRINTEMPS"
    NomOnglet = "LUNDI"
    ' Déclaration tableau adresses. Ce tableau est organisé avec Plage à écrire, virgule, Plage à lire
    Tablo = Array("I2:I4", "B13", "I5:I6", "E14", "F7:I8", "M6", "H9:I10", "E15", "H11:I12", "E16", "D5:E6", "E10", "D21:G21", "I3", _
                  "Q2:Q4", "B19", "Q5:Q6", "E20", "N7:Q8", "M6", "P9:Q10", "E21", "P11:Q12", "E22", "L5:M6", "E10", "L21:O21", "I3", _
                  "Y2:Y4", "B25", "Y5:Y6", "E26", "V7:Y8", "M6", "X9:Y10", "E27", "X11:Y12", "E28", "T5:U6", "E10", "T21:W21", "I3", _
                 "AG2:AG4", "B31", "AG5:AG6", "E32", "AD7:AG8", "M6", "AF9:AG10", "E33", "AF11:AG12", "E34", "AB5:AC6", "E10", "AB21:AE21", "I3")
   
      ' Mise à jour de l'onglet (macro dans ThisWorkbook )
    UpdateSheet
 
End Sub
Ce qui est suffisant pour valider l'opération. La feuille est visée de tout pour rendre l'opération plus visible.
Vous appuyez sur EFFACER ECRAN qui ... efface l'écran.
Puis sur IMPORTER qui importera les données du fichier Riibambelle dans Lundi.
Chez moi cela donne ça :
Regarde la pièce jointe 1142008

Si vous n'obtenez pas ça, c'est qu'il y a un souci, et que je ne peut guère vous aider.
Bonjour Sylvanu

Alors la tout fonctionne parfaitement :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Prenez cette PJ, enregistrez là et ouvrez le fichier.
J'essaie d'y détecter des erreurs de noms de fichiers ou d'onglets.
J'ai pris exactement votre code du post #29.
Si je n'arrive pas à ouvrir un fichier ou à accéder à un onglet, je mémorise tout dans la feuille ERREUR.
Si ça peut vous aider.

Tant que ce fichier générera des erreurs, il est inutile d'aller plus loin avant que toutes soient corrigées.
A la fin il suffit de reprendre le code et de le coller dans votre "vrai" fichier.
 

Pièces jointes

  • Quicksland Gestion Erreurs.xlsm
    47.6 KB · Affichages: 2

Quicksland

XLDnaute Occasionnel
Bonjour,
Donc le code marche parfaitement. Je n'ai rien changé, même pas dans tablo.
Cherchez alors dans vos déclarations, les noms, les espaces ....
Re,

Je suis dessus ... je me suis emmêler les pinceaux avec les fichiers ! j'ai 3 sauvegardes pour au cas ou
et avec les fichiers envoyé et reçu j'était un peu perdu !!!
J'ai fait des corrections dans un et pas les autres et du coup je pensai être a jour sur les onglets mais ce n'était pas le cas ...
Je reprend tout et pour l'instant cela fonctionne correctement sauf ou il y a des erreurs mais ça avance
je suis vraiment désolé de t'avoir fait perdre du temps pour un problème que tu mas répéter x fois

Je reviendrai vers toi pour des petites précision quand tout sera au poing

je te remercie pour ta patiente et pour le travaille effectuer 👍

Merci, merci, merci ;)
 

Quicksland

XLDnaute Occasionnel
Mettez votre code dans la nouvelle PJ.
La mise en forme n'a aucune importance pour l'instant.
ca vous permettra de faire la mise au point tranquille.
A la fin reversez le code dans votre "vrai" fichier.
Re,

Voila je me retrouve avec quelque chose de pas très normal :(

Sur tout les onglet "LUNDI MARDI ect ..." a partir de la deuxième ligne de tableau celui du bout beug
Je te met le fichier en PJ

Merci de regarder parce que la tout fonctionne mais je ne vois pas pourquoi cela fait ça :rolleyes:
 

Pièces jointes

  • FICHE PIC NIC 1 S P.xlsm
    701.8 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Pourquoi ne pas avoir utilisé le fichier que j'ai fait au post #33. Cela aurait pu peut être vous aider.
Je peux essayer de vous aider mais pas lire dans une boule de cristal.
Je ne peux rien faire de votre fichier puisque je ne dispose pas des fichiers ni des bons dossiers.

Sur tout les onglet "LUNDI MARDI ect ..." a partir de la deuxième ligne de tableau celui du bout beug
Quelle ligne ? La deuxième de Tablo ?
C'est quoi celui du bout ? Pour Lundi ce serait celui là ?
"Q2:Q4", "B19", "Q5:Q6", "E20", "N7:Q8", "M6", "P9:Q10", "E21", "P11:Q12", "E22", "L5:M6", "E10", "L21:O21", "I3", _
 

Quicksland

XLDnaute Occasionnel
Pourquoi ne pas avoir utilisé le fichier que j'ai fait au post #33. Cela aurait pu peut être vous aider.
Je peux essayer de vous aider mais pas lire dans une boule de cristal.
Je ne peux rien faire de votre fichier puisque je ne dispose pas des fichiers ni des bons dossiers.


Quelle ligne ? La deuxième de Tablo ?
C'est quoi celui du bout ? Pour Lundi ce serait celui là ?
C'est vrai que peut être pas assez précis :oops:

Onglet "LUNDI " AD52:AF53 ,AG52:AG53 ,AD472 :AF53 et même après hors tableau idem pour "MARDI et autre jour

Jai utilisé ton fichier mais je ne trouve pas a quoi cela correspond
 

Quicksland

XLDnaute Occasionnel
Mais que fait il à ce moment là ?
- Il plante ? Il donne un N° erreur ?
- Il colle les infos au mauvais endroit ?

Ca veut dire quoi "Hors tablo" ?
Il ne plante pas et aucun code erreur
voir photo ci-joint
11.jpg
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vous ne pouvez pas faire du pas à pas pour comprendre ce qu'il se passe ?
Envoyez le fichier et le fichier de données qui va avec.

Utilisez cette PJ.
1- Vous mettez à jour la macro pour un tablo, uniquement ça , par ex :
VB:
'----------------------------------------------------------------------------------------------------------
'LUNDI
    ' Déclaration du chemin des fichiers à lire, du nom du fichier et du nom de l'onglet à écrire
    Chemin = "C:\Users\PC_PAPA\Desktop\Quicksland\"
    NomFichier = "1 CAMUS  LA RIBAMBELLE 1.xlsm"
    OngletLu = "PRINTEMPS"
    NomOnglet = "LUNDI"
    ' Déclaration tableau adresses. Ce tableau est organisé avec Plage à écrire, virgule, Plage à lire
    Tablo = Array("I2:I4", "B13", "I5:I6", "E14", "F7:I8", "M6", "H9:I10", "E15", "H11:I12", "E16", "D5:E6", "E10", "D21:G21", "I3", _
                  "Q2:Q4", "B19", "Q5:Q6", "E20", "N7:Q8", "M6", "P9:Q10", "E21", "P11:Q12", "E22", "L5:M6", "E10", "L21:O21", "I3", _
                  "Y2:Y4", "B25", "Y5:Y6", "E26", "V7:Y8", "M6", "X9:Y10", "E27", "X11:Y12", "E28", "T5:U6", "E10", "T21:W21", "I3", _
                 "AG2:AG4", "B31", "AG5:AG6", "E32", "AD7:AG8", "M6", "AF9:AG10", "E33", "AF11:AG12", "E34", "AB5:AC6", "E10", "AB21:AE21", "I3")
    
    ' Mise à jour de l'onglet (macro dans ThisWorkbook )
    UpdateSheet
'----------------------------------------------------------------------------------------------------------
2- Sur la feuille vous appuyez sur Effacer puis sur Importer.

Ne travaillez que sur cette PJ, si vous voulez avancer.
Je n'ai pas envie de travailler sur votre fichier complet, ce n'est pas comme ça qu'on fait de la mise au point, mais step by step.
 

Pièces jointes

  • FICHE PIC NIC 1 S P (DEBUG).xlsm
    129.6 KB · Affichages: 1
Dernière édition:

Quicksland

XLDnaute Occasionnel
Vous ne pouvez pas faire du pas à pas pour comprendre ce qu'il se passe ?
Envoyez le fichier et le fichier de données qui va avec.

Utilisez cette PJ.
1- Vous mettez à jour la macro pour un tablo, uniquement ça , par ex :
VB:
'----------------------------------------------------------------------------------------------------------
'LUNDI
    ' Déclaration du chemin des fichiers à lire, du nom du fichier et du nom de l'onglet à écrire
    Chemin = "C:\Users\PC_PAPA\Desktop\Quicksland\"
    NomFichier = "1 CAMUS  LA RIBAMBELLE 1.xlsm"
    OngletLu = "PRINTEMPS"
    NomOnglet = "LUNDI"
    ' Déclaration tableau adresses. Ce tableau est organisé avec Plage à écrire, virgule, Plage à lire
    Tablo = Array("I2:I4", "B13", "I5:I6", "E14", "F7:I8", "M6", "H9:I10", "E15", "H11:I12", "E16", "D5:E6", "E10", "D21:G21", "I3", _
                  "Q2:Q4", "B19", "Q5:Q6", "E20", "N7:Q8", "M6", "P9:Q10", "E21", "P11:Q12", "E22", "L5:M6", "E10", "L21:O21", "I3", _
                  "Y2:Y4", "B25", "Y5:Y6", "E26", "V7:Y8", "M6", "X9:Y10", "E27", "X11:Y12", "E28", "T5:U6", "E10", "T21:W21", "I3", _
                 "AG2:AG4", "B31", "AG5:AG6", "E32", "AD7:AG8", "M6", "AF9:AG10", "E33", "AF11:AG12", "E34", "AB5:AC6", "E10", "AB21:AE21", "I3")
   
    ' Mise à jour de l'onglet (macro dans ThisWorkbook )
    UpdateSheet
'----------------------------------------------------------------------------------------------------------
2- Sur la feuille vous appuyez sur Effacer puis sur Importer.

Ne travaillez que sur cette PJ, si vous voulez avancer.
Je n'ai pas envie de travailler sur votre fichier complet, ce n'est pas comme ça qu'on fait de la mise au point, mais step by step.
Bonjour Sylvanu ,

Bon voila tout fonctionne parfaitement non loin sans mal !

En fait il y avais déjà un problème de format cellule "44621" est un format date donc résolu

pour le soucis "SALAMANDRE " qui revenais sur x lignes c'est a cause d'une erreur code qui a été enregistrer et malgré la correction n'aillant pas effacer les lignes dans le fichier " PIC NIC"
normal quelle réapparaisse a chaque réouverture :rolleyes:

Ton code fonctionne parfaitement bien 👌

Petite question ! ce code peut me servir sur tout autre document !? ( bien entendu en rentrant le chemin d 'accès , le nom de l 'onglet , le nom du fichier et les code cellules )

Je suis vraiment impressionner de ton savoir !!!

Bravo pour tes connaissances ,ta patience et ta réactivité 👍

Je te remercie vivement ;)

Ps j'ai 53 ans et découvert Excel pendant le confinement et je trouve ce logiciel génial 👍

Bon weekend a toi ;)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Tout est bien qui finit bien.
Evidemment cette structure peut être réutilisée dans tout fichier. Ne pas oublier qu'elle se compose de trois modules :
Workbook_Open pour le lancement à l'ouverture du fichier
Mise_a_jour_onglets pour la préparation des données
UpdateSheet pour la mise à jour effective.

Pour les futurs lecteurs, au vu de nos errances, il serait bon de mettre en résolu la bonne PJ ( Lien ), je pense qu'il s'agit de la PJ du post #11. Sinon le lecteur va chercher longtemps quelle PJ , sur les 44 posts, est la bonne.

Bonne continuation, à se recroiser.:)
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 069
Membres
103 110
dernier inscrit
Privé