Rechercher : dans
Par :

Listes,arborescence.vb excel

Dernière réponse le 13 aoû 2008 à 15:27:30 mia1987, le 12 aoû 2008 à 10:56:07 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « listes,arborescence.vb excel » dans :
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...
Liste déroulante avec saisie semi automatique pour EXCEL VoirC'est une procédure qui demande un investissement personnel et qui n'est pas nécessairement facile à comprendre et à réaliser dès la première fois. Afin de rendre cette astuce facile à utiliser, nous allons employer les plages et les formules...

1

DOS, le 12 aoû 2008 à 16:43:18

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

Répondre à DOS

2

mia1987, le 12 aoû 2008 à 16:50:40

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"

Répondre à mia1987

3

DOS, le 12 aoû 2008 à 19:13:41

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

Répondre à DOS

4

mia1987, le 13 aoû 2008 à 10:38:42

Thks Dos!
j'arrive tjrs pas à resoudre el blem du tcd ..:(
anyway if u any other idea,tell me!

Répondre à mia1987

5

DOS, le 13 aoû 2008 à 14:16:46

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

Répondre à DOS

6

DOS, le 13 aoû 2008 à 14:18:30

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

Répondre à DOS

7

 mia1987, le 13 aoû 2008 à 15:27:30

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

Répondre à mia1987