Afficher/Créer un nbre de lignes & de feuilles en fonction du nbre d'une cel

Fermé
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019 - 8 juin 2019 à 20:44
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 - 9 juin 2019 à 20:32
Bonsoir,
Nouveau sur ce site, je cherche de l’aide pour créer une macro qui pourrait répondre au besoin suivant :

1/ J’ai une entité principale (EP) qui peut avoir plusieurs sous-entités (SE) qui lui sont liées (entre 1 et 4)
2/ J’ai une feuille pour l’EP et souhaite avoir :
- sur cette feuille autant de ligne que de SE et
- générer autant de feuilles qu’il y a de SE (selon une feuille modèle SE).

Auriez-vous une idée pour répondre à ce besoin ?

J’ai pensé au principe suivant mais je bloque sur la macro …
1/créer sur la feuille EP :
- une ligne avec en A1 la question « combien de SE » et en B1 le nombre de SE à renseigner par l’utilisateur
- créer en dessous 4 lignes correspondant à chaque SE possible (A2 = « Nom de la SE1 ? » et B2 = valeur nom de la SE1, A3 = « Nom de la SE2 ? » et B3 = valeur nom de la SE2, etc.)
- de cacher les 3 dernières lignes (il y a obligatoirement au moins 1 SE)
2/ créer 4 feuilles pour chacune des SE (portant les noms SE1, SE2, SE3 et SE4 et de cacher les 3 dernières.
Ensuite il me faut un bouton et une macro permettant d'afficher autant de lignes et de feuilles que souhaité.

Pourriez-vous m’indiquer la macro à utiliser pour que le nombre de ligne et de feuille visible correspondent au nombre saisi dans la feuille EP en B1 ?

Merci d’avance pour votre aide.
Bonne soirée.
A voir également:

7 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
8 juin 2019 à 21:46
Bonsoir ranze et bienvenue puisque tu es nouveau

Personnellement je me pose la question de la pertinence d'une feuille par SE, cela éparpille les infos et ça complique quand on veut tirer d'autres éléments (stats, comparaison ...)
Je ferai plutôt une feuille par EP avec les emplacements pour 4 SE soit les uns en dessous des autres soit côte à côte, tout dépend des autres infos qui seraient à entre après
Avec comme tu dis une cellule avec le nombre de SE, on peut ensuite à la modification de la valeur dans cette cellule faire masquer les lignes ou les colonnes inutiles.

Sinon si tu persistes à avoir autant de feuilles que d'EP et de SE quels noms compte tu donner à ces feuilles ? Si c'est du style EP1 SE1_1, SE1,2 etc c'est facilement gérable dans la macro sinon s'il s'agit de noms spécifiques il faudra par macro demander à chaque fois le nom à entrer ou bien les noms des SE peuvent être indiqués après leur nombre dans la feuille EP où la macro qui créera les feuilles ira les lire

En attente de ton avis
Cdlmnt
Via
1
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
8 juin 2019 à 23:09
Re,

Un exemple avec une macro qui crée les feuilles. Dans la feuille EP les Noms SE sont simplement gérés par formule pour afficher la question ou rien selon le nombre indiqué en B1
A adapter à ton fichier
Alt+F11 pour voir le code de la macro
https://mon-partage.fr/f/PShLeKSL/

Cdlmnt
Via
1
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
9 juin 2019 à 12:44
Re,

voilà : https://mon-partage.fr/f/Gbgyh6ZZ/

Cdlmnt
Via
1
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019
9 juin 2019 à 15:16
Génial, merci beacoup pour ton aide !!!

Sais-tu quel code je dois mettre pour que les lignes de SEn sur la feuille EP correspondent à une insertion de ligne ? J'ai d'autres lignes en dessous et je souhaiterais éviter qu'elles soient écrasées par la création des lignes de SEn. Merci encore pour ton aide.
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
9 juin 2019 à 16:51
Remplace le code existant par celui-ci
Private Sub CommandButton1_Click()
Range("A2:b5").ClearContents
For n = 1 To Range("B1")
Sheets("EP").Select
Range("A" & n + 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A" & n + 1) = "Nom de SE " & n & " :"
Sheets("MODELE-SE").Select
    Sheets("MODELE-SE").Copy After:=Sheets(Sheets.Count)
    Sheets("MODELE-SE (2)").Select
    Sheets("MODELE-SE (2)").Range("A1") = "SE" & n
    Sheets("MODELE-SE (2)").Name = "SE" & n
Next
Sheets("EP").Select
End Sub
0
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019
9 juin 2019 à 18:09
Merci pour ton aide.
Malheureusement cela ne fonctionne pas si j'ai la ligne 3 déjà remplie : la macro n'insère pas les n lignes de SEn et écrase le contenu de la ligne 3.
0
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019
8 juin 2019 à 21:51
Bonsoir via55 et merci beaucoup pour ta réponse rapide.
Je dois malheureusement avoir une feuille par SE et le nom de chaque feuille de SE sera du type SE1, SE2, SE3 et SE4.
Merci d'avance pour ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019
8 juin 2019 à 21:56
A la relecture de ta réponse ("autant de feuilles que d'EP et de SE"), je souhaite préciser que je n'ai qu'une feuille EP et au maximum 4 feuille SE (SE1 à SE4).
0
ranze Messages postés 6 Date d'inscription samedi 8 juin 2019 Statut Membre Dernière intervention 9 juin 2019
8 juin 2019 à 23:36
C'est top et merci beaucoup pour ton aide ! Ca va me permettre de bien avancer.

J'ai encore une demande d'amélioration supplémentaire... as-tu un moyen de :
- n'avoir que la première ligne de la feuille EP dans un 1er temps (demande du nombre de SE) puis,
- via la macro d'avoir simultanément :
. l'apparition des seules lignes SE correspondantes (lignes 1 à 4 si B1 = 3 / lignes 1, 2 et 3 si B1 = 2 / lignes 1 et 2 si B1 =1), les autres lignes restant masquées
. et la création des feuilles SE associées.

Merci encore pour ton aide.
Cordialement,
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
Modifié le 9 juin 2019 à 20:34
1) pourquoi aurait déjà ta ligne 3 remplie ?
2) la macro commence par effacer la plage A2:B5
commence par enlever cette ligne de la macro et ça devrait aller

Sinon fournis moi ta feuille de départ complète


0