Faire une liste d'un groupe

Chtitefanny

XLDnaute Junior
Bonjour à tous,

Je sais comment faire une liste de dossier dans Worksheet.
Sur le premier onglet, dans la colonne A, se trouve à partir de A3, des numéros de dossiers sont sous la forme 14-XXX.Y (14-001.A ; 14-001.B ... 14-003) cela va de 6 à 8 caractères.
Code :
Code:
    Set r = Workbooks("Essai.1").Sheets("Feuil1").Cells(3, 1)
    Do While r <> ""
        UserForm1.WorkSheet1.AddItem r
        Set r = r.Offset(1, 0)
    Loop
La liste se fait très bien. Mais j'aimerais améliorer la chose. Dans une UserForm Antérieur, j'indique les 6 premiers caractères du dossier (14-XXX) et j'aimerai que lorsque j'arrive à la liste, je n'ai que les dossiers qui commance par les 6 caractères indiqué juste avant.

Si vous avez une idée.

Fanny
 

Paf

XLDnaute Barbatruc
Re : Faire une liste d'un groupe

Bonjour,

pas sûr d'avoir tout compris; un classeur sans données sensibles aurait permis de lever certains doutes.

Si votre code fonctionne pour alimenter une liste (???), modifier en rajoutant entre Do While ... et UserForm1....

If r.value Like MaVariable & "*" then

et rajouter End If juste avant Loop

MaVariable étant la variable que vous avez initialisée avec les 6 premiers caractères du dossier.

A+
 

Chtitefanny

XLDnaute Junior
Re : Faire une liste d'un groupe

Bonjour Paf,

Merci pour ta réponse, mais il y a des soucis.
"Do While" & "If" ne fonctionnent pas en même temps.

Lorsque la macro est de la forme :
Code:
    Set r = Workbooks("Essai.1").Sheets("Feuil1").Cells(3, 1)
    Do While r.Value Like MaVariable & "*"
        UserForm1.WorkSheet1.AddItem r
        Set r = r.Offset(1, 0)
    Loop
Il y a une message d'erreur : "Erreur définie par l'application ou par l'objet"

Lorsque la macro est de la forme :
Code:
    Set r = Workbooks("Essai.1").Sheets("Feuil1").Cells(3, 1)
    If r.Value Like MaVariable & "*" Then
        UserForm1.WorkSheet1.AddItem r
        Set r = r.Offset(1, 0)
    End If
La liste ne ce fait qu'avec le premier N° dossier.

Il faudrait juste m'aider sur la manière de combiner le "Do While" et "If".

Merci d'avance pour votre aide.

Fanny
 

Paf

XLDnaute Barbatruc
Re : Faire une liste d'un groupe

Re

Si votre code fonctionne pour alimenter une liste (???), modifier en rajoutant entre Do While ... et UserForm1....

J'aurai dû dire entre la ligne Do ... et la ligne ...
Dans votre deuxième formulation, vous avez supprimé la boucle Do While !!! Mais j'avais donné une fausse indication : le End If doit être avant le Set r.... sinon r n'évolue pas .


Code:
Set r = Workbooks("Essai.1").Sheets("Feuil1").Cells(3, 1)
    Do While r <> ""
        If r.Value Like MaVariable & "*" Then
            UserForm1.WorkSheet1.AddItem r
        End If
        Set r = r.Offset(1, 0)
    Loop

Enfin, tout cela en théorie. Sans pouvoir vérifier sur un classeur d'essai joint...

Bonne suite
 
Dernière édition:

Chtitefanny

XLDnaute Junior
Re : Faire une liste d'un groupe

Re Paf,

avec la dernière version, c'est l'équivalent de la première version que j'ai indiqué au tout début.

je suis désolé, mais je ne peux envoyer le fichier, car celui sur lequel je travail à une macro trop longue. celui me prendrai trop de temps à vérif et enlever les données sensible.

Fanny
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 337
Membres
103 524
dernier inscrit
Smile1813