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 :

[VBA-E]Collection de bouton ...


Sujet :

Macros et VBA Excel

  1. #41
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    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
    Private Sub Workbook_Open()
        Dim butTop, butLeft, Bouton, butHeight, butWidth
        Dim k
        Dim lastline, winindex
        Dim ligne
       ' Dim appxl As Excel.Application, wk As Workbook, wsh As Worksheet
       ' Set wsh = ThisWorkbook.Worksheets(2)
       ' Set sh = wsh.OLEObjects(1)
        Dim XlsFiles() As String
        Dim DocFiles() As String
        lastline = 1
        ligne = 0
     
       ' MkDir "C:\Documents and Settings\avaysse\Mes documents\sauvegarde"
        XlsFiles = FindFiles("C:\Documents and Settings\avaysse\Mes documents\", "xls")
        DocFiles = FindFiles("C:\Documents and Settings\avaysse\Mes documents\", "doc")
        For i = LBound(XlsFiles) To UBound(XlsFiles)
            If XlsFiles(i) = "test2.xls" Then GoTo sortie
    '
    '
    '
    'code
    '
    '
    '
    '
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''' creation des liens vers les documents word
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
                butTop = Range("i" & lastline + 7).Top
                butLeft = Range("i" & lastline + 7).Left
                butHeight = Range("i" & lastline + 7).Height
                butWidth = Range("i" & lastline + 7).Width
     
     
            Set Bouton = ActiveSheet.Buttons.Add(Left:=butLeft, Top:=butTop, Width:=butWidth, Height _
                :=butHeight * 2)
            With Bouton
     
                .OnAction = "OpenWorddocs"
                .Name = Repertoire
                .Caption = .Name
            End With
          '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''' fermeture de toute les fenetres et vidé le clipboard
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
                Application.DisplayAlerts = False
                Workbooks(XlsFiles(i)).Close False
                OpenClipboard 0
                EmptyClipboard
                CloseClipboard
                Application.DisplayAlerts = True
                lastline = lastline + 10
     
    sortie:
    Next
    End Sub

  2. #42
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Dans .Name=Repertoire, il sort d'ou ce Repertoire

  3. #43
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public Function FindFiles(ByVal Repertoire As String, ByVal Extension As String) As String()
     
        Dim Test As String, cmpt As Integer, tabTemp() As String
        Test = Dir(Repertoire & "*." & Extension)
        While Test <> ""
            ReDim Preserve tabTemp(cmpt)
                tabTemp(cmpt) = Test
                cmpt = cmpt + 1
                Test = Dir
        Wend
        FindFiles = tabTemp
     
    End Function

  4. #44
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    Alors dans ton code ce devrait être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Bouton 
     
          .OnAction = "OpenWorddocs" 
          .Name = Left(XlsFiles(i),Len(XlsFiles(i))-4)
          .Caption = .Name 
    End With
    Une question pour ma culture personnelle, pourquoi fais-tu ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      OpenClipboard 0 
      EmptyClipboard 
      CloseClipboard

  5. #45
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    je sais plus trop... je fait aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Public Declare Function EmptyClipboard Lib "user32" () As Long
    Public Declare Function CloseClipboard Lib "user32" () As Long
    dans mon module...

    normalement c'est pour vidé le clipboard c'est une solution qui nous avai etai proposé a spafy et moi...

  6. #46
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    With Bouton
     
          .OnAction = "OpenWorddocs"
          .Name = Left(XlsFiles(i),Len(XlsFiles(i))-4)
          .Caption = .Name
    End With
    marche super bien pour le premier mais plante au second bouton... il n'arive pas a definir la proprieté de name...

  7. #47
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    c'est curieux

    c'est quoi l'erreur exacte ?

  8. #48
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    impossible de definir la proprieté Name de la classe button
    voila

    EDIT : quand je clique sur le bouton pour debeuger il me surligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Name = Left(XlsFiles(i), Len(XlsFiles(i)) - 4)
    ( le bouton est créer mais n'a pas le bon nom... il plante juste apres...

  9. #49
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    chez moi ca marche sans probleme

  10. #50
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    il est possible que tout les boutons et le meme Name ?

  11. #51
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    ah non, chaque nom doit être unique, mais deux fichier d'un même répertoire de peuvent avoir le même nom.

  12. #52
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Par défaut
    aprés discution avec spafy "tout" marche enfin
    je vous met le code pour info..
    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
     
                butTop = Range("i" & lastline + 7).Top
                butLeft = Range("i" & lastline + 7).Left
                butHeight = Range("i" & lastline + 7).Height
                butWidth = Range("i" & lastline + 7).Width
     
                Set Bouton = ActiveSheet.Buttons.Add(Left:=butLeft, Top:=butTop, Width:=butWidth, Height _
                :=butHeight * 2)
                With Bouton
                    .OnAction = "OpenWorddocs"
                    'Join(Split(XlsFiles(i), " "), "")
                    x = Split(XlsFiles(i), ".")
                    .Name = x(0)
                    .Caption = .Name
                End With
    pour information... le code planté car il ne doit pas y avoir d'espace dans le nom du fichier... j'utilise donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Join(Split(XlsFiles(i), " "), "")
    pour suprimé les espaces dans voila

Discussions similaires

  1. [VBA][Excel]Mettre un bouton d'aide sur un userform
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 03/01/2006, 18h30
  2. [VBA excel] Probleme sur bouton commande
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/11/2005, 10h10
  3. [VBA-W] Créer un bouton de commande
    Par maketossss dans le forum VBA Word
    Réponses: 15
    Dernier message: 07/11/2005, 17h07
  4. [VBA Excel]collection et type
    Par Tan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/02/2005, 18h22
  5. Réponses: 5
    Dernier message: 04/04/2003, 15h02

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