Créer un classeur à partir de plusieurs données

Salut 3GB!

Oui il va falloir que tu m'aides, je suis perdu la..

De plus j'ai ajouté des feuilles modèles pas de soucis jusque la, mais au moment ou j'ai ajouté des feuilles index au nombre de 3 et du coup déplacé la feuille du répertoire tout c'est mélangé.

J'ai donc suivi ton conseil et modifié les valeurs dans les codes mais je n'arrive pas à avoir le bon truc,

J'ai quelques feuilles qui se mélange à la création du nouveau classeur..

Avec cela, j'ai des liaisons avec d'autres fichiers que je n'arrive pas à modifié, ce qui me génèrent des bugs dans le cahier je pense.

Si tu as un peu de temps j'aimerais que tu jettes un coup d’œil au fichier que je te joint et me dire si tu peux faire quelques choses car à ce stade tout fonctionne pratiquement et te dire la ou ça merde est délicat..

Je te propose de regarder le classeur modèle et de faire comme ci tu créais un nouveau classeur je pense que se sera plus simple si tu le veux bien évidement

Merci !

Je vais regarder ça mais pas dans l'immédiat parce que ça risque de me prendre du temps...

Ah il y a des liaisons ? Ca commence à être un beau ****ier... enfin chantier je veux dire. Mais pourquoi des liaisons ? Comme le fichier va être copié, déplacé, etc, il vaut mieux éviter tant que possible de créer des possibles causes de bugs. Le jour où il y aura un problème et que tu devras te replonger dedans, après des semaines voire des mois, ça va pas être sympa à digérer.

Salut 3GB!

Exactement, je voudrais évité qu'on ai se genre de problème à répétition mais malheureusement je ne suis pas qualifié pour ce genre de chose donc je fais appel à tes bons services pour me dépatouiller de ce beau "dier"!

En effet tu m'as déjà pas mal appris mais pas assez encore

Tu es un ne l'oublie pas, rien est insurmontable pour toi!

A bientôt et bon courage!

Salut Willkaa,

Au moins, tu es un sacré flatteur !

Tu tombes bien, j'étais sur ton fichier. Je te l'envoie avec quelques remarques :

- Le point impératif est de bien définir le chemin du fichier modèle dans le code ! Au début, le code génère automatiquement une copie dans le même répertoire. Donc, il faudra remplacer thisworkbook.path & "\..." par le chemin exact et complet en veillant à ce qu'il soit définitif. En revanche, le nouveau cahier peut être mobile sans problème.

- Il y avait plein de petits problèmes, dont certains dus à des modifications hasardeuses j'ai l'impression et d'autres à une attention insuffisante de ma part. A priori, la plupart des problèmes "courants" sont réglés. Cependant, ce n'est pas parfait car il y a encore des risques de bugs. Mais avec une utilisation raisonnable :
pas de suppression de fiches autrement que par le bouton mise à jour,
il faut supprimer les lignes du tableau plutôt qu'effacer le contenu,
il faudra songer à trouver un moyen de protéger les données du répertoire.

- J'ai déplacé les 2 colonnes masquées (4 et 5) en position 2 et 3 pour éviter justement tant que possible d'effacer les formules qui s'y trouvent.

- rien d'important mais il pourrait être judicieux de trouver des noms d'onglets plus courts (menu, entete, ref, KLE, memo, Rep Fiches, Rep Cahier). Ca rendrait le classeur plus aéré.

Je ne t'envoie pas le code cette fois-ci... Je garde une version pour le moment. Si tu as des questions, n'hésite pas à me les poser car je me suis plus attardé sur la façon de résoudre les problèmes que sur la mise en forme du code...

Le fichier :

A plus,

Salut 3GB,

Aaaahhh c'est beaucoup mieux sans bug! Merci !!

Du coup j'ai testé le fonctionnement ça marche du tonnerre,

J'ai bien compris la notice et je ferai suivre si besoin !

Pour le chemin du fichier modèle, une fois que je le met sur le "réseau interne" de ma boite, il garderas le même nom mais si quelqu'un souhaite le mettre sur son PC il ne sera plus le même et il faudra donc le changer, c'est bien ça?

Je vais essayer d'autres manip demain et je reviens vers toi.

Pour les onglet je peux les changer oui ça sera moins long en effet je suis d'accord!

Ne va pas trop loin je sens que je vais te poser pas mal de question en ouvrant les codes( j’aime bien comprendre comment ça fonctionne..)

Bonne soirée @+

Ah oui, c'est mieux !

Exactement, si quelqu'un le prend en local, il n'y aura pas de problème pour créer un nouveau cahier (ça c'était déjà assez carré). Mais quand l'utilisateur voudra mettre à jour les fiches ... Ca ne marchera pas, à moins d'avoir le fichier modèle déjà ouvert. Mais, il est quand même mieux, pour éviter de se retrouver avec un blocage quand on a justement besoin d'utiliser le fichier, de saisir à chaque fois le chemin complet.

Après, il y a peut-être moyen de trouver une astuce mais bon.

En tout cas, maintenant, ce genre de bug est sécurisé et on ne se retrouvera plus avec la moitié de la procédure achevée, ce qui est déjà une bonne chose.

Si tu changes les noms d'onglet, il faudra aussi penser à changer le nom du "Répertoire Nouveau Cahier" dans le code (le seul nommé en dur si je ne m'abuse).

Et bien je t'attends pour les questions, quoique je vais peut-être prendre une semaine de congé moi aussi .

Passe une bonne une soirée Will, à bientôt,

Bonjour à toi 3GB!

J’espère que tout va pour le meilleur!

Alors je suis entrain d'essayer de verrouiller les cellules du répertoire nouveau cahier, afin qu'il n'y ai pas de modification surprise et que cela plante,

Cependant, une fois que je verrouille il est impossible d’insérer ou de supprimer une ligne du répertoire aurais tu une astuce?

Voici comment je verrouille:

Je sélectionne les cellules modifiable/clic droit /format de cellule /protection/et je décoche

ensuite je vais dans révision/protéger la feuille/je coche les cases correspondantes (ainsi que "insérer et supprimé des lignes)

Merci d'avance!

Salut Willkaa,

Ca va à merveille et toi ?

Quand tu as la boîte de dialogue, après avoir cliqué sur protéger la feuille, tu as tout un tas d'option dont insérer et supprimer des lignes et colonnes.

Il suffit de les sélectionner et normalement, le tour devrait être joué

Bonjour 3GB,

Fraîchement ces temps ci!

Alors je tenais à te remercier sincèrement d'une part pour avoir partager tes connaissances mais aussi et surtout au temps que tu as passer sur ce dossier et les autres! Car avec ce que tu as fait mes équipes de contrôles vont gagner un temps considérable en terme de production.

Je ne sais comment te remercier!

Si seulement tu pouvais me donner des cours!! J'en serai ravi!

Donc au sujet de petit probleme de protection, et bien comme je t'ai dit dans mon ancien mail même en les cochant ça ne me permet pas d'insérer ou de supprimer une ligne..et cela m'embête car je voudrais protéger au maximum les formules de ce classeur.

3GB,

En faisant des manipulations, je me suis aperçu d'une chose et j'aimerai intégrer un nouveau code.

J'aimerai que tu m'éclaires sur le sujet,

En gros dans les feuilles de contrôles, si l'on ne renseigne pas le contrôleur principal sur l'onglet "MENU1" des formules ne fonctionne pas,

Donc j'aurais aimer une boîte de dialogue qui affiche si erreur de formule dans les colonnes "VISA"; "renseigner le contrôleur principal dans l'onglet MENU1"

Tu aurais cela en stock?

Salut Willkaa,

Je t'en prie, je l'ai fait avec plaisir !

Concernant la protection, en effet, tout va bien sauf la suppression de lignes... Je te propose une alternative sans protection de feuille avec un code qui s'exécute quand la sélection sur la feuille change mais c'est du bricolage :

'DANS LE MODULE THIS WORKBOOK
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)

If Not Sh.Name Like "AV*" Then Exit Sub 'sortie si nom feuille commence pas par AV

If Not Intersect(Target, Sh.UsedRange) Is Nothing Then 'limité a la zone utilisée
    If Target.Count < Sh.Columns.Count Then 'si nb cells sélectionnées < nb colonnes
        For Each cell In Target 'pour chaque cell de la selection
            If cell.Locked Then 'si cell verrouillée
                cell.Next.Select 'selectionne cell suivante
            End If
        Next
    End If
End If

End Sub

Ce n'est pas vraiment l'idéal et si les sélections sont conséquentes, ça peut donner un résultat un peu lourd. Je vois d'autres solutions mais selon moi encore plus compliquées, notamment en utilisant 2 macros évènementielles.

Peut-être qu'il y a une meilleure solution que j'ignore alors je te recommande de créer un sujet.

Pour le contrôleur, est-ce que tu pourrais m'envoyer une version avec juste la feuille menu et une fiche AV en essayant de préciser ce que tu cherches parce que je vois plusieurs solutions...

A plus,

Salut 3GB,

Alors j'ai teste ton code cela fonctionne et oui c'est peut être du bricolage mais si ça peu permettre de ne pas modifier le classeur..

Merci,

Je te joint le fichier avec le "MENU1" et les modèle "AV-FK..." de différent place de VISA

@+

Salut Willkaa,

Et bien, tu commençais presque à me manquer .

Je vais regarder ça...

J'ai regardé et réfléchi aux options. Je vois des possibilités avec liste de validation

=CHOISIR(Principal<>"";INDIRECT("TAB[NOM]"))

et macro qui envoie un message lorsqu'on sélectionne une cellule de la colonne résultat alors que le principal est vide !

Mais, je trouve ça tout de même assez lourd et finalement insuffisant puisqu'il suffit de retourner sur MENU et d'effacer le contrôleur pour que ce soit à nouveau problématique.

Donc, pour moi :
- soit on met en colonne VISA "REMPLIR CONTROLEUR" quand il n'est pas rempli (avec éventuellement une MFC qui alerte ).
- soit on empêche à l'utilisateur de quitter la feuille Menu tant que le contrôleur n'est pas saisi (avec un message bien sûr pour pas qu'il se dise que son Excel est cassé ).

Les 2 sont simples mais la seconde me plait bien...

Bonjour 3GB,

Mine de rien, ça créer des liens cette histoire!

Et bien oui je trouve ça pas mal il faudra seulement quelle soit opérationnel sur le nouveau cahier et que l'on rajoute une macro à la construction de celui ci qui nous guiderai vers l'onglet "MENU1" à la fin de la création du nouveau cahier, si ma logique est bonne...

Salut Willkaa,

En effet, ça fait un bail, on est presque collègues finalement . Plus 100 messages et 6 pages, je suis pas loin de mon record !

Très bien, je pense que c'est le plus sûr et le plus simple. Après, tu pourras toujours, si tu t'ennuies, rajouter la fameuse validation dans chaque cellule des colonnes RESULTAT et mettre à jour les formules mais a priori, ça devrait le faire.

Donc il faut mettre ce code dans le module de la feuille MENU :

Private Sub Worksheet_Deactivate()
If Range("Principal") = "" Then
    Me.Activate
    MsgBox "Vous ne pouvez pas quitter la feuille tant le nom du contrôleur principal n'est pas renseigné !" & vbCrLf & vbCrLf & _
    "Si besoin, vous pouvez ajouter son nom dans le tableau afin de mettre à jour la liste déroulante.", vbCritical, _
    "Avertissement - restriction"
    Range("Principal").Activate
End If
End Sub

Il sera actif sur le nouveau cahier.

Et effectivement, tu penses à tout ! Il faut rajouter une ligne à la fin de la macro NouveauCahier :

Sub NouveauCahier()

'le code....

Call DeplacerFeuilles
wbcahier.sheets("MENU1").activate '<<<<<<<<<<<<<<
Application.ScreenUpdating = True

'wbcahier.save 'sauvegarde
'wbcahier.Close True 'fermeture sauvegarde
Set rcahier = Nothing: Set wbcahier = Nothing 'liberation

End Sub

Ca devrait être pas mal !

Comme tu dis, et tes réponses sont claires et précises, donc ses conversations sont aussi enrichissantes quand je vois le résultat ou nous en sommes !

Et bien c'est parfait ainsi!

Je pense qu'on est pas mal là! Je vais présenter cela au collègues et je te tiendrais au courant de leur réaction!

En attendant je suis sur un autre projet un peu dans le même style mais moins complexe, j'essai de voir ce que je peux faire et si besoin de macro je t'appelle à l'aide :)

Ah et j'ai une petite question de base Excel:

Quand tu mets des valeurs " sous forme de tableau" pour les utilisés en liste déroulante, tu ne peux pas déplacer ou copier la feuille, c'est normal?

Quand tu mets des valeurs " sous forme de tableau" pour les utilisés en liste déroulante, tu ne peux pas déplacer ou copier la feuille, c'est normal?

Est-ce que tu peux préciser ? Je ne comprends pas et n'ai pas le souvenir qu'une telle chose me soit déjà arrivée.

Bonjour 3GB,

Et bien imaginons en colonne A j'ai des pays et en colonnes B le nb d'habitants si je veux mettre dans un tableau excel j'utilise le bouton "mettre sous forme de tableau".

Ce qui me donne plus de facilité si je rajoute ou je supprime des pays dans une liste déroulante.

cependant quand je veux copier cette feuille il ne veut pas. il me dit qu'il ne peux pas copier une feuille avec un tableau..

Alors je voulais savoir s'il y avait que moi ou si je m'y prenais mal, ou dans l'autre cas trouver une alternative,

Bonjour Willkaa,

C'est étrange . Je n'ai pas le souvenir d'avoir rencontré un tel problème alors c'est peut-être une question de version ?

Quand je copie une feuille contenant un tableau, le tableau est renommé de force sur la nouvelle feuille car il ne peut y avoir 2 tableaux portant le même nom mais ça s'arrête là...

Je pense que tu devrais créer un nouveau sujet, tu obtiendrais une réponse plus rapidement

Rechercher des sujets similaires à "creer classeur partir donnees"