Listes,arborescence.vb excel

Fermé
mia1987 Messages postés 49 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 10 mai 2011 - 12 août 2008 à 10:56
mia1987 Messages postés 49 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 10 mai 2011 - 13 août 2008 à 15:27
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..:(
A voir également:

5 réponses

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
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
mia1987 Messages postés 49 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 10 mai 2011
13 août 2008 à 10:38
thks Dos!
j'arrive tjrs pas à resoudre el blem du tcd ..:(
anyway if u any other idea,tell me!
-1
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
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
mia1987 Messages postés 49 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 10 mai 2011
13 août 2008 à 15:27
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mia1987 Messages postés 49 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 10 mai 2011
12 août 2008 à 16:50
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