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

Excel Discussion :

Macro pour création d'un onglet récupérant le nom de la feuille de saisie


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    dessinateur/projeteur
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur/projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Macro pour création d'un onglet récupérant le nom de la feuille de saisie
    Bonjour,

    Je voudrais réutiliser la macro existante sur la feuille s'appelant "avant" qui est dans l'onglet récapitulatif saisie et qui s’appelle sauvegarder le plan en l'intégrant dans la feuille "après".

    J'ai essayer de reprendre le code de la macro sur la feuille "avant" pour l'intégrer directement sur ma feuille "après" mais celle-ci bug car n'arrive pas à aller chercher le numéro de plan la ou il faut.

    La feuille après étant un combiner de la feuille de saisie et récapitulatif de la feuille avant.

    Pouvez svp, m'aidez à coder la macro de la feuille avant pour l’intégrer dans la feuille "après" pour avoir le même résultat ?

    Merci d'avance

    Après.xls --> fichier avant
    Avant.xls --> fichier après

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 862
    Points : 28 792
    Points
    28 792
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Plutôt que de placer des classeurs à télécharger, tu augmenterais tes chances de recevoir des réponses en publiant le code entre les balises prévues à cet effet.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    dessinateur/projeteur
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur/projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Plutôt que de placer des classeurs à télécharger, tu augmenterais tes chances de recevoir des réponses en publiant le code entre les balises prévues à cet effet.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Private Sub CommandButton1_Click()
     
        Dim i As Integer
        Dim n As String
        Dim m As String
        Dim k As String
    k = Worksheets(2).Cells(3, 4)
    If k = "" Then
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
            Msg = "Veuillez préciser le numéro du plan" ' Définit le message.
            Style = vbOKOnly + vbCritical     ' Définit les boutons.
            Title = ""    ' Définit le titre.
            Response = MsgBox(Msg, Style, Title, Help, Ctxt) ' Affiche le message.
            n = "fin"
            End If
     
     
     
     
     
     
    For i = 3 To Sheets.Count
     
        m = Worksheets(2).Cells(3, 4)
     
            If Sheets(i).Name = m Then
     
     
                'Dim Msg, Style, Title, Help, Ctxt, Response, MyString
            Msg = "Vérifiez les indices des plans et effacez l'ancien indice si nécessaire" & Chr(13) & Chr(10) & "Remarque: pour effacer l'ancien plan, cliquer bouton droit sur l'onglet puis supprimer" ' Définit le message.
            Style = vbOKOnly + vbCritical     ' Définit les boutons.
            Title = "Le plan existe déjà"    ' Définit le titre.
            Response = MsgBox(Msg, Style, Title, Help, Ctxt) ' Affiche le message.
            n = "fin"
            End If
    Next i
     
    If n <> "fin" Then
        Range(Cells(1, 2), Cells(46, 7)).Select
        Selection.Copy
        Sheets.Add
        Worksheets(2).Cells(1, 2).Select
        Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
        Sheets("recapitulatif SAISIE").Select
        Application.CutCopyMode = False
        Selection.Copy
        Worksheets(2).Activate
        Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=False
        Application.CutCopyMode = False
        Sheets(2).Select
        Sheets(2).Move After:=Sheets(4)
        Worksheets(4).Cells(1, 4).Select
        Selection.Copy
        Sheets(4).Select
        Application.CutCopyMode = False
        Sheets(4).Name = Worksheets(4).Cells(3, 4)
        Worksheets(4).Columns(3).EntireColumn.AutoFit
        Worksheets(4).Columns(6).EntireColumn.AutoFit
     
     
        Sheets(4).Select
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        Sheets(2).Select
        Worksheets(2).Cells(1, 2).Select
     
     
    Else: End If 
     
    End Sub
    Voici ce que je voudrais intégrer de ma feuille de base à celle que je suis entrain de modifier . Mon problème se trouve en premier lieu au niveau du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    k = Worksheets(2).Cells(3, 4)
    .

    En lui disant que mon k ( mon numéro de plan ) se trouvant sur la feuille 1 case C7 il m'indique une erreur.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Comme le signale Philippe, je fais partie de ceux qui évitent d'ouvrir les XLS et XLSM. J'ai donc du mal à comprendre tes explications.

    Pourrais-tu expliquer le vocabulaire que tu utilises : feuille, onglet, plan
    Je ne comprends pas :
    Citation Envoyé par joris78 Voir le message
    la feuille s'appelant "avant" qui est dans l'onglet récapitulatif saisie
    Explique brièvement ce que fait ta macro et fais une copie de son code.
    Comment la déclenches-tu ? Bouton dans une feuille ? Bouton dans la barre de menu ? Lancement direct depuis l'éditeur VBA ? Un évènement ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    dessinateur/projeteur
    Inscrit en
    Septembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dessinateur/projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Comme le signale Philippe, je fais partie de ceux qui évitent d'ouvrir les XLS et XLSM. J'ai donc du mal à comprendre tes explications.

    Pourrais-tu expliquer le vocabulaire que tu utilises : feuille, onglet, plan
    Je ne comprends pas :


    Explique brièvement ce que fait ta macro et fais une copie de son code.
    Comment la déclenches-tu ? Bouton dans une feuille ? Bouton dans la barre de menu ? Lancement direct depuis l'éditeur VBA ? Un évènement ?

    Le code se trouve juste au dessus .

    Je vais essayer de vous réexpliquer au mieux : Pour votre information c'est une feuille de calcul de Poids d'acier qui prend en charge plusieurs données : le nombre , le diamètre et la longueur de l'acier
    que je rentre manuellement sur mon fichier. A la fin de ma saisie celle-ci me donne un Poids d'acier global de ma saisie en les regroupant par diamètre. Elle fait cela pour 3 type d'acier HA , DOUX et les panneaux de treillis.
    Voila pour l'utiliter de cette feuille.

    Voici des aperçus :

    FICHIER DE BASE : SAISIE :

    Nom : SAISIE.jpg
Affichages : 430
Taille : 305,4 Ko

    FICHIER DE BASE : RECAPITULATIF SAISIE :

    Nom : RECAP SAISIE.jpg
Affichages : 525
Taille : 255,7 Ko

    FICHIER EN CREATION :

    Nom : combiner.jpg
Affichages : 505
Taille : 252,8 Ko

    Comme vous pouvez le voir sur le fichier de base j'ai 2 macro :

    - 1 pour effacer toute ma saisie : EFFACER
    - 1 pour enregistrer ma saisie en créant un nouvelle onglet : Voir image 2

    Je voudrais donc créer cette macro d'enrengistrement sur mon nouveau fichier excel qui réunis la saisie et le récapitulatif dans un nouvelle onglet comme le fait ma feuille de base.

Discussions similaires

  1. [XL-2007] Macro pour création de fichier selon critères
    Par ExcelLiod dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/01/2014, 11h17
  2. Réponses: 1
    Dernier message: 27/10/2012, 19h59
  3. Réponses: 6
    Dernier message: 24/02/2012, 14h25
  4. Création d'un bouton avec macro pour impression rapide
    Par citrouilllle dans le forum VBA Word
    Réponses: 16
    Dernier message: 13/07/2007, 23h20
  5. Réponses: 4
    Dernier message: 12/12/2006, 12h30

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