Listes,arborescence.vb excel

mia1987 Messages postés 57 Statut Membre -  
mia1987 Messages postés 57 Statut Membre -
Bonjour,
je suis en train de faire un prog en vb excel, et je veux afficher sur ma userform une sorte de liste (arborescence ) qui indique par exp mes documents,poste de travail,...afin d epermettre à l'utilisateur de faire un choix du fichier qu'il veut ouvrir,et sur lequel le programme main sera appliqué.
merci bcp de venir à mn aide,je bloque et ca presse..:(
Configuration: Windows 2000
Internet Explorer 6.0

5 réponses

  1. DOS
     
    Ciao !

    Sub Main()
    
        Dim fd As FileDialog, vrtSelection As Variant, strMes As String
       
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
        strMes = ""
        With fd
            ' Définir le répertoire par défaut à l'ouverture.
            .InitialFileName = "C:\Documents local\Excel"
            'Utiliser la méthode [ Show ] pour afficher la boite de dialogue.
            ' Si l'utilisateur n'utilise pas la touche [ ESC ]
            If .Show = -1 Then
                For Each vrtSelection In .SelectedItems
                    strMes = strMes & vbLf & "Chemin d'accès de la sélection: " & vrtSelection
                Next vrtSelection
            End If
        End With
    
        MsgBox strMes
    
        Set fd = Nothing
    
    End Sub
    


    DOS
    0
  2. DOS
     
    re:

    Je n'ai que travaillé peu avec les TCDs, voici comment je procède :

    exemple :

    Sub Test()
    
        Dim Adr As String
    
        ' Localiser la source des données
        With Worksheets("Feuil1")
            Adr = .Name & "!" & .Range("A1:V13661").Address
        End With
        
        'Création du PivotTable
        With ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
                                        SourceData:=Range(Adr))
            ' Dépot sur la feuille 2 à l'adresse C4 avec le nom TCD1
            Set PT = .CreatePivotTable(TableDestination:= _
                            Worksheets("Feuil2").Range("C4"), _
                            TableName:="TCD1")
        End With
    
    End Sub
    

    DOS
    0
    1. mia1987 Messages postés 57 Statut Membre
       
      thks Dos!
      j'arrive tjrs pas à resoudre el blem du tcd ..:(
      anyway if u any other idea,tell me!
      -1
  3. DOS
     
    re :

    quand j'utilise [ Adr = .Name & "!" & .Range("A1:B7").Address ] :

    Sub Creer()

    Dim Adr As String

    ' Localiser la source des données
    With ActiveWorkbook.ActiveSheet
    Adr = .Name & "!" & .Range("A1:B7").Address
    End With

    ActiveWorkbook.PivotCaches.Add _
    (SourceType:=xlDatabase, SourceData:=Adr).CreatePivotTable _
    TableDestination:="", TableName:="Tableau croisé dynamique1", _
    DefaultVersion:=xlPivotTableVersion10

    End Sub
    '
    ça fonctionne correctement, mais je n'ai pas ton data !

    par contre avec cette adresse [ Adr = .Name & "!" & .Range("A1:V13661").Address ]
    ça ne fonctionne pas, vérifie ta plage de données !
    Sub Creer()
    
        Dim Adr As String
    
        ' Localiser la source des données
        With ActiveWorkbook.ActiveSheet
            Adr = .Name & "!" & .Range("A1:V13661").Address
        End With
    
        ActiveWorkbook.PivotCaches.Add _
            (SourceType:=xlDatabase, SourceData:=Adr).CreatePivotTable _
            TableDestination:="", TableName:="Tableau croisé dynamique1", _
            DefaultVersion:=xlPivotTableVersion10
    
    End Sub
    '
    

    DOS
    0
  4. DOS
     
    re :

    quand j'utilise [ Adr = .Name & "!" & .Range("A1:B7").Address ] :
    Sub Creer() 
    
    Dim Adr As String 
    
    ' Localiser la source des données 
    With ActiveWorkbook.ActiveSheet 
    Adr = .Name & "!" & .Range("A1:B7").Address 
    End With 
    
    ActiveWorkbook.PivotCaches.Add _ 
    (SourceType:=xlDatabase, SourceData:=Adr).CreatePivotTable _ 
    TableDestination:="", TableName:="Tableau croisé dynamique1", _ 
    DefaultVersion:=xlPivotTableVersion10 
    
    End Sub 
    ' 
    

    ça fonctionne correctement, mais je n'ai pas ton data !

    par contre avec cette adresse [ Adr = .Name & "!" & .Range("A1:V13661").Address ]
    ça ne fonctionne pas, vérifie ta plage de données !
    Sub Creer()
    
        Dim Adr As String
    
        ' Localiser la source des données
        With ActiveWorkbook.ActiveSheet
            Adr = .Name & "!" & .Range("A1:V13661").Address
        End With
    
        ActiveWorkbook.PivotCaches.Add _
            (SourceType:=xlDatabase, SourceData:=Adr).CreatePivotTable _
            TableDestination:="", TableName:="Tableau croisé dynamique1", _
            DefaultVersion:=xlPivotTableVersion10
    
    End Sub
    '
    

    DOS
    0
    1. mia1987 Messages postés 57 Statut Membre
       
      merci infiniment , je crois que le bout de programme a avancé,seulmt jai autre petit blem, à ce niveau ci :
      With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("avec")
      .Orientation = xlRowField
      .Position = 1
      End With
      With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("sans")
      .Orientation = xlDataField
      .Position = 1
      End With
      on me envoie l'erreur suivante :
      impossible de lire la propriété pivotfields de la classe pivot table

      merci encore Dos
      -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mia1987 Messages postés 57 Statut Membre
     
    merci!sinn vs vs connaissze un peu en tableaux dynamiques croisés?
    j'ai enregistré une macro pr mn programme, ms ca bloque au niveau dse instructions concernant le tableau croisé dynamique!je suppose qu'il est necessaire de faire une actualisation ou truc du genre...ms moi je ne ss qu'une debutante,dc j'en sais vrmt d'ou l'aborder,merci bcp de bien vouloir m'aider , et ceci est le bout du programme ou j'ai blem
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
    "mine!R1C1:R13661C22").CreatePivotTable TableDestination:="", _
    TableName:="Tableau croisé dynamique1"
    -1