IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

modele de feuille automatique


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut modele de feuille automatique
    Bonjour,
    J'essai de créer des feuilles excel qui ont automatiquement la forme d'un modèle.
    Je m'explique un peu mieux: En cliquant sur ajout de feuille (ou en créant une feuille via MATLAB, car c'est la finalité!!), je souhaite que cette feuille est la forme d'un modele (couleur des cases, largeur et hauteur des lignes/colonnes).

    Est ce possible que le modele soit directement une feuille du classeur ou faut il créer un modèle .xlt?

    Pourriez vous m'aider pour ce petit code en VBA?

    Merci d'avance.

    PS: Je n'ai aucune notion de VBA Et les seules connaissances que j'ai son dans ce message...

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Il faut créer une feuille avec les spécifications souhaitées, puis l'appeler, par exemple "Modèle".

    Ensuite, en VBA, place le code suivant dans un module standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub CreerSelonModele()
        Worksheets("modèle").Copy after:=Sheets(Sheets.Count)
    End Sub
    Il suffit alors d'affecter la macro à un bouton...

    Après avoir créé la feuille modèle, tu peux aussi utiliser l'enregistreur de macros, il est là pour ça.

    Enclencher l'enregistreur (outils/Macro/Nouvelle macro)
    Nommer la macro
    Sélectionner le modèle, clic droit, déplacer ou copier
    Choisir "en dernier", cocher "Créer une copie", cliquer sur OK
    Arrêter l'enregistreur de macro
    Affecter la macro à un bouton

    Ok?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci,
    Mais... JE crains n'avoir pas compris .
    Les nouvelles feuilles ne s'ouvrent pas avec le format du modèle quand je clic sur nouvelle feuille (bouton dans "outil/personnaliser/insertion/feuille)

    Est ce que cette solution permet d'ouvrir les feuilles au format du modèle via MATLAB?

    Cordialement,

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Non, tu dois placer un bouton d'outils et lui affecter la macro créée...

    Désolé, mais je ne sais pas ce qu'est "MATLAB"...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    En fait le plus facile serait de créer N feuilles dans le classeur et toute avec le même format (sans bouton) car je ne sais pas si matlab peut gérer ces boutons. Le remplissage se fait après la création de feuille. (On crée N feuilles dans excel en premier lieu, on ferme excel puis on remplie via Matlab).

    Le bouton est utile si on n'a pas beaucoup de feuillses à créer, dans mon cas il me faut créer jusqu'à 200 feuilles... Appuyer 200 fois sur le bouton pourrait me donner une tendinite

    Aussi, j'aimerais incrémenter les noms de feuille comme suit: 1x, 2x, 3x, ..., Nx avec x pouvant avoir plusieurs caractères (dans mon cas x == Hz).


    Pouvez vous me dire comment créer N feuilles à partir d'un modèle?

    Merci d'avance.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Voici un code à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub CreerFeuilles()
        Dim Modele As Worksheet
        Dim Feuille As Worksheet
        Dim i As Integer
     
        Set Modele = Worksheets("modèle")
        For i = 1 To 20
            Modele.Copy after:=Sheets(Sheets.Count)
            ActiveSheet.Name = "Feuille " & i
        Next i
    End Sub
    On peut bien entendu améliorer en passant le paramètre du nombre de feuilles et le nom à donner, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub CreerFeuilles(Nom As String, NomModele As String, Nombre As Integer)
        Dim Modele As Worksheet
        Dim Feuille As Worksheet
        Dim i As Integer
     
        Set Modele = Worksheets(NomModele)
        For i = 1 To Nombre
            Modele.Copy after:=Sheets(Sheets.Count)
            ActiveSheet.Name = Nom & " " & i
        Next i
    End Sub
     
    Sub AjotuerFeuilles()
        CreerFeuilles "Stock", "Modèle", 10
    End Sub
    Ok?

    P.S.: Je ne sais toujours pas ce qu'est MATLAB...

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Ok!!

    Merci beucoup!!
    C'est magique

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Euh....
    Euphorie n'a jamais mener bien lien en informatique...
    J'ai un problème de mémoire insuffisante quand j'arrive à la 14eme feuille.
    Pourtant mon modèle n'a pas l'air trop lourd (Cf fichier joint)

    Que dois je faire?

    Merci..

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Je viens d'en créer 150 sans problème... Mais comme il n'y a pas de fichier joint, il est malaisé de tester...

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    ok!!
    J'ai créer un nouveau classeur excel et ca marche...
    Je ne sais pas ce qui s'est passé avec le précédent classeur.
    Merci à toi Pierre!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supprimer les feuilles automatiquement
    Par chaouch anouar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/10/2008, 12h55
  2. Déprotéger une feuille automatiquement
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/02/2008, 16h19
  3. Insérer une procédure dans chaque feuille automatiquement
    Par melouille56 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/01/2008, 15h45
  4. Réponses: 5
    Dernier message: 08/12/2007, 13h59
  5. [VBA-E] Création de feuille automatique
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 12h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo