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 :

Macro sur feuilles


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Par défaut Macro sur feuilles
    Bonjour à tous,

    Je fais appel à vos compétences afin de m'aider dans mon projet.
    J'ai créé une macro ainsi que deux feuilles respectivement nommées 2017 et 2018.
    Cette même macro apparait indépendamment sur chacune des feuilles.
    Je souhaiterais que lorsque je lance la macro de la feuille 2017, les informations soient enregistrées dans la feuille 2017. Même chose pour 2016.
    Hors, ma macro fait référence à la feuille 2017. Lorsque je lance la macro sur 2018, les infos s'enregistrent sur 2017...
    Pouvez vous m'aider ?

    D'avance merci
    Didier

    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
     
    Private Sub bt_quitter_Click()
    Unload Me
    End Sub
     
    Private Sub cb_ajouter_Click()
     If Me.txtbl = "" Then
        MsgBox "saisir un no de pièce"
        Me.txtbl.SetFocus
        Exit Sub
      End If
      Set f = Sheets("2017")
      ligne = f.[A65000].End(xlUp).Row + 1
      f.Cells(ligne, 3) = Me.txtref
      f.Cells(ligne, 2) = Me.txtdate
      If IsNumeric(Me.txtbl) Then f.Cells(ligne, 1) = CDbl(Me.txtbl)
      If IsNumeric(Me.txtqte) Then f.Cells(ligne, 4) = CDbl(Me.txtqte)
      f.Cells(ligne, 5) = Me.txtdes
     
      raz
      Me.txtbl.SetFocus
     
    End Sub
    Sub raz()
      Dim c As Control
      For Each c In Me.Controls
         Select Case TypeName(c)
            Case "TextBox"
              c.Value = ""
            Case "CheckBox"
              c.Value = False
            Case "ListBox", "ComboBox"
              c.ListIndex = -1
         End Select
      Next c
      Me.txtbl.SetFocus
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Concernant les fichiers joints http://www.developpez.net/forums/d84...s-discussions/

    Met plutôt ton code (avec la balise code (bouton #)).

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par allondin Voir le message
    Bonjour,

    Je n'ai pas ouvert votre fichier, mais voilà une solution à essayer en passant par une procédure paramétrique si les traitements sont identiques comme dans la macro MonCodeTransverseATousLesOnglets ci-dessous.

    Cette macro est placée dans un module standard.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub MonCodeTransverseATousLesOnglets(ByVal MonOnglet As Worksheet)
     
        With MonOnglet
     
             'Code....
     
        End With
     
    End Sub
    Ensuite, vous pouvez la mettre en oeuvre d'où vous voulez en lui indiquant l'onglet à traiter comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub TestMonCodeTransverseATousLesOnglets()
     
        MonCodeTransverseATousLesOnglets Sheets("2017")
        MonCodeTransverseATousLesOnglets Sheets("2018")
     
    End Sub
    Cordialement.

Discussions similaires

  1. [2013] seconde macro sur feuille excel 2013
    Par zchikh dans le forum Microsoft Office
    Réponses: 2
    Dernier message: 10/08/2015, 22h13
  2. [XL-2010] Macro sur feuille protégée. Erreur 1004
    Par sas99 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/02/2015, 22h09
  3. [XL-2007] Boutons placés par macro sur feuille ne fonctionnent pas (Bis !)
    Par Danad38 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/12/2011, 16h14
  4. [XL-2007] Boutons placés par macro sur feuille ne fonctionnent pas
    Par Danad38 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 24/11/2011, 16h08
  5. [XL-2007] Macro sur feuille protégée et formulaire
    Par _ryo_ dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2010, 16h12

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