Générer des feuilles automatiquement

Bonsoir et merci de me permettre l'accès au forum!

Je souhaite parvenir à générer de manière automatique des feuilles identiques à la "Feuille_modèle" (fiche Client), celles-ci reprenant automatiquement les informations saisies dans la feuille "Fichier" (fiche synthèse). Idéalement, il faudrait que ces feuilles se génèrent à la saisie du Nom dans les lignes de "Fichier" et que je puisse accéder à la fiche en Cliquant sur le nom directement dans la Feuille "fichier".

J'espère que ma demande est suffisamment claire pour qu'elle soit prise en compte par l'un(e) d'entre vous. J'ai fait le maximum avec mes compétences embryonnaires s'agissant d'Excel et openoffice, et vos conseils sur des demandes similaires. Alors par avance merci de votre bienveillance vis à vis de ma demande!!!!

Je joins le fichier!

Bonne soirée

30mdfvar-v2-1.ods (43.69 Ko)

Bonsoir,

Sur un Forum Excel, il serait souhaitable de fournir un fichier Excel !

En outre, ce que tu demandes exige une macro, et le code VBA ne sera pas compatible avec OpenOffice...

Cordialement.

Oui c est vrai, il se convertit en Excel sur iPad me semble t il. Je n ai que cela hélas. Merci pour votre réponse,

Je ne comprends pas bien ! Si tu viens sur un Forum Excel, c'est pour poser une question relative à Excel, avec un fichier appelé à fonctionner sur Excel... ?

Bonjour, j ai créé le doc sur opencalc, sauf que je l utilise sur iPad qui lui le convertit en Excel. Vous avez vu le doc, pouvez vous m aider? Si oui je suis preuneuse avec grand plaisir, si non pouvez vous m orienter. Je vous avoue que je ne comprends rien en informatique et vous l avez certainement remarqué, et je galère vraiment sans ce petit outil.bonne journée

Je n'ouvre pas un fichier qui n'est pas Excel, inutile, je l'ai déjà dit, ce qu'on te proposera ne fonctionnera pas sur Calc...

Cordialement.

Re!

Ce fichier est-il ok?

45mdfvar-v2.xlsx (436.48 Ko)

Il s'agit d'un fichier Excel, en état de fonctionner, donc : OK!

Il faut donc maintenant savoir quelle est la feuillemodèle...

Je préconiserais la création de fiche par double-clic ou clic droit sur le nom, soit la même méthode que celle qui sera retenue pour accéder à la fiche : si elle n'est pas encore là on la crée, si elle est là on y va (à créer une fois que toutes les infos à y transférer ont été saisies).

Trop bien!!

La feuille modèle est la feuille n° 2. Pour la solution, dès lors que les fiches se génèrent avec la mise en page et les infos du fichier, peut importe, je ne sais pas si l’on peut parler d’ergonomie, mais c’est un outil qui va me permettre de gérer mes clients et mes terrains alors si je peux cliquer sur le nom pour aller sur la fiche afin d’y saisir les infos supplémentaires ce serait formidablement génial et pratique.

Une petite question : la ref ? Est-elle destinée à devenir le nom de la Fiche ?

Et une demande de confirmation : 15 valeurs de FICHIER son reprises sur la Fiche (en 20 emplacements, 3 étant reprises 2 fois et 1 3 fois).

Champs ---- repris en

  • ---- B ---------- G4
  • ---- C ---------- G21
  • ---- D ---------- G3 + B41
  • ---- E ---------- G2 + G40
  • ---- I ----------- A14
  • ---- J ---------- B18 + E40
  • ---- K ---------- G1 + B17 + B40
  • ---- L ----------- G22
  • ---- M ---------- B21
  • ---- N ----------- D21
  • ---- O ----------- A23
  • ---- P ----------- E24
  • ---- Q ----------- E23
  • ---- R ----------- E25
  • ---- T ----------- G5

edit : Si la colonne Nom (M) est vide ?

Bien, sous réserve du cas où la colonne M est vide, un double-clic sur FICHIER en colonne M va déclencher :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim F$, ln
    If Target.Column = 13 Then
        If Target <> "" And IsNumeric(Target.Offset(, -12)) Then
            F = CStr(Target.Offset(, -12))
            On Error Resume Next
            Worksheets(F).Activate
            If Err.Number <> 0 Then
                CréerFiche F
                ln = Target.Row
                AlimF F, ln
            End If
            Cancel = True
        End If
    End If
End Sub

La procédure (évènementielle dans le module de la feuille) s'assure que l'on a bien double-cliqué en M, que la cellule double-cliquée n'est pas vide, et que la cellule en colonne A de la même ligne contient une valeur numérique. A ces conditions, elle récupère dans une variable cette valeur (convertie en texte) et tente d'activer la feuille ainsi désignée.

Si elle existe elle est activée, sinon erreur prise en charge, pour lancer une procédure de création de cette feuille : CréerFiche (placée dans le module de la feuille) à laquelle on passe le nom.

Sub CréerFiche(nf As String)
    With Worksheets("Fiche")
        .Visible = xlSheetVisible
        .Copy after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = nf
        .Visible = xlSheetHidden
    End With
End Sub

Elle démasque le modèle, en fait une copie à la fin (après les autres feuilles), la nomme, et remasque le modèle.

Elle rend la main à la procédure appelante qui, sachant que la feuille est désormais créée, lance alors une procédure destinée à alimenter la Fiche : AlimF (dans Module1).

Sub AlimF(nf As String, ln As Integer)
    Dim kF, kB, i%, wsS As Worksheet
    kF = Split("G1 G2 G3 G4 G5 A14 B17 B18 B21 D21 G21 G22 A23 E23 E24 E25 B40 B41 E40 G40")
    kB = Array(11, 5, 4, 2, 20, 9, 11, 10, 13, 14, 3, 12, 15, 17, 16, 18, 11, 4, 10, 5)
    Set wsS = Worksheets("FICHIER")
    Application.ScreenUpdating = False
    With Worksheets(nf)
        For i = 0 To 19
            .Range(kF(i)) = wsS.Cells(ln, kB(i))
        Next i
    End With
End Sub

Cette procédure crée un tableau des référence de cellules cibles à servir, crée un autre tableau des numéros de colonnes des cellules sources destinées à alimenter les premières), et une boucle sur ces deux tableaux en concordance permet d'affecter à chaque cellule cible la valeur de la cellule source qui lui revient.

Cordialement.

Bonsoir,

C’est incroyable j’avais aucune idée de ce à quoi ressemblais une macro, je suis sans voix!

Merci du temps passé je. N’y serais jamais parvenue seule. Pour le coup je dois à présent trouver une appli Excel pouvant lire les macro VBA sur iPad, celle de base n’a apparemment pas cette fonctionnalité, c’est la découverte du jour....Mon problème est encore entier, mais déjà grâce à vous je vais pouvoir travailler sur PC, alors 1000 mercis encore.

A bientôt

Bonne continuation.

Rechercher des sujets similaires à "generer feuilles automatiquement"