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 :

Création d'un bouton (contrôle de formulaire


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Création d'un bouton (contrôle de formulaire
    Bonjour,


    comme le précise l'intitulé je souhaiterai créer un bouton qui me permettrait d'exécuter le code ci-dessous, le problème c'est qu'il est assez particulier et je n'arrive pas à créer ce fameux bouton, la situation actuelle est la suivante :

    - J'ai deux classeur l'un dans lequel j'ajoute des données, l'autre s'ouvre et ce synchronise lorsque je change de cellule. Je voudrais ne plus effectuer la synchronisation en temps réel (ce qui m'oblige à avoir les deux classeurs ouverts constamment) mais l'effectuer seulement lorsque j'appuie sur le bouton, ce qui implique que la macro doit ouvrir mon classeur à synchronisé, mettre à jour, puis le refermer. Je souhaite faire comme ceux-ci car mon classeur à synchroniser est placé sur le réseau local. Ce classeur doit pouvoir être ouvert par une autre personne tout en étant à jour.

    Voici le code initale merci d'avance :


    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
    Option Explicit
     
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Const maj = "CopieSuivi_hebdo_beneff.xlsm"   ' nom du classeur copie à synchroniser
    Dim clc As Workbook                     ' objet classeur copie à synchroniser
    Dim feu As Integer                      ' index feuille
    Dim cl1 As Integer, cl2 As Integer      ' index colonnes
    Dim lig As Long                         ' lignes de la colonne
    Dim tba()
    On Error Resume Next
    Set clc = Workbooks(maj)
    If clc Is Nothing Then                  ' le classeur n'est pas ouvert
        Workbooks.Open ThisWorkbook.Path & "\" & maj
        Set clc = Workbooks(maj)
        If clc Is Nothing Then MsgBox "Classeur  à synchroniser absent": Exit Sub
    End If
    On Error GoTo 0
    For feu = 1 To clc.Sheets.Count         ' boucle feuilles du classeur
        If clc.Sheets(feu).Name = Sh.Name Then
            For cl1 = 1 To clc.Sheets(feu).UsedRange.Columns.Count  ' feuille à synchroniser
                For cl2 = 1 To Sh.UsedRange.Columns.Count
                    If clc.Sheets(feu).Cells(1, cl1).Value = Sh.Cells(1, cl2).Value Then
                        lig = Sh.Cells(Rows.Count, cl2).End(xlUp).Row
                        If lig > 1 Then                             ' colonne à synchroniser
                            tba = Sh.Cells(1, cl2).Resize(lig, 1).Value
                            clc.Sheets(feu).Cells(1, cl1).Resize(UBound(tba), 1).Value = tba
                        End If
                        Exit For
                    End If
                Next cl2
            Next cl1
        End If
    Next feu
    ThisWorkbook.Activate
    End Sub

  2. #2
    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
    Si c'est un bouton dans la feuille de calcul, tu peux en créer un avec n'importe quelle forme.
    Ruban Insertion > Formes > Tu choisis la forme que tu veux et tu la places dans ta feuille.
    Tu la sélectionnes > Clic droit > Affecter une macro.
    Et ça devient un bouton.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Menhir,

    Merci pour ta réponse mais ce qui m'intéresse c'est de savoir quoi mettre dans la macro Quand en effet je souhaite ajouter la macro au bouton cela me renvoie vers cette erreur du code et je ne sais quoi faire... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If clc.Sheets(feu).Name = Sh.Name Then

Discussions similaires

  1. [XL-2007] Création d'un bouton (contrôle de formulaire
    Par Gabich21 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/02/2015, 10h57
  2. [XL-2010] VBA : Bouton contrôle de formulaire avec insertion forme et suppression ancienne
    Par anonymous9 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 05/03/2014, 20h24
  3. [AC-2003] Création automatique de bouton dans un formulaire
    Par spider0410 dans le forum IHM
    Réponses: 1
    Dernier message: 19/06/2013, 10h16
  4. [XL-2010] Affichage boutons contrôle de formulaire quand lignes sont groupées
    Par bibenki dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2012, 10h13

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