Bonjour. J’ai un userform pour filtrer les données d’une feuille spécifique sous deux conditions avec la possibilité de spécifier la première date de la recherche et la dernière date. Mais je veux rechercher plusieurs documents spécifiques dans le cahier d’exercices. La gamme de données dans...
excel-downloads.com
Le code de Dadi marche correctement avec un userform et un tableau multicolonne.
Bonjour. J’ai un userform pour filtrer les données d’une feuille spécifique sous deux conditions avec la possibilité de spécifier la première date de la recherche et la dernière date. Mais je veux rechercher plusieurs documents spécifiques dans le cahier d’exercices. La gamme de données dans...
excel-downloads.com
Le code de Dadi marche correctement avec un userform et un tableau multicolonne.
Commencer le VBA avec un userform multipage et des modules de classe n'est, à mon avis, pas la bonne méthode. Trop de choses à assimiler d'un seul coup.
Comme je n'ai rien compris à votre code, en PJ j'ai fait un exemple simple de remplissage de ListBox par un tableau, avec :
VB:
Sub Exemple()
Dim DL%, i%, tablo
DL = [A1000000].End(xlUp).Row ' Dernière ligne du tableau
tablo = Range("A4:G" & DL) ' Tranefert des données dans un tableau VBA
For i = 2 To UBound(tablo) ' Pour la colonne 2 transforme en format heure
tablo(i, 2) = Format(tablo(i, 2), "hh:mm")
Next i
With UserForm1 ' Avec Userform1
.ListBox1.ColumnCount = 7 ' Determine le nombre de colonnes
.ListBox1.ColumnWidths = "40;70;70;70;70;70;70" ' Determine la largeur des colonnes
.ListBox1.List = tablo ' Transfert le tableau dans la listbox
.Show ' Affiche l'userform
End With
End Sub
Commencer le VBA avec un userform multipage et des modules de classe n'est, à mon avis, pas la bonne méthode. Trop de choses à assimiler d'un seul coup.
Comme je n'ai rien compris à votre code, en PJ j'ai fait un exemple simple de remplissage de ListBox par un tableau, avec :
VB:
Sub Exemple()
Dim DL%, i%, tablo
DL = [A1000000].End(xlUp).Row ' Dernière ligne du tableau
tablo = Range("A4:G" & DL) ' Tranefert des données dans un tableau VBA
For i = 2 To UBound(tablo) ' Pour la colonne 2 transforme en format heure
tablo(i, 2) = Format(tablo(i, 2), "hh:mm")
Next i
With UserForm1 ' Avec Userform1
.ListBox1.ColumnCount = 7 ' Determine le nombre de colonnes
.ListBox1.ColumnWidths = "40;70;70;70;70;70;70" ' Determine la largeur des colonnes
.ListBox1.List = tablo ' Transfert le tableau dans la listbox
.Show ' Affiche l'userform
End With
End Sub
Non, mais pour comprendre la ListBox autant commencer pas le début.
En PJ le multipage. Juste le remplissage.
Evidemment j'ai viré la macro Workbook_Open car elle fait appel à l'ouverture à la feuille Accueil qui n'existe pas dans votre fichier.
Non, mais pour comprendre la ListBox autant commencer pas le début.
En PJ le multipage. Juste le remplissage.
Evidemment j'ai viré la macro Workbook_Open car elle fait appel à l'ouverture à la feuille Accueil qui n'existe pas dans votre fichier.
C'est super merci, j'arrive à comprendre maintenant comment tu as fait.
Deux dernières petites questions :
Si je dois chercher les donnés dans une feuille (ex : "Feuil1") que celle ou se trouve le bouton ("BDD"), je dois rajouter quoi dans le code ?
Et, je compte faire la même chose dans la page planchettes, que dois-je rajouter dans le code pour qu'il détecte qu'il est dans la bonne page ?
Rien, vous remarquerez dans mon code que je n'appelle jamais la page "Palettes", ce n'est pas utile car une listbox est toujours unique dans un userform.
En PJ vous avez deux listbox en page Palettes et Planchettes.
( pour simplifier j'ai mis le même tableau )
VB:
With Acceuil.ListBox1 ' Avec Userform
.ColumnCount = 7 ' Determine le nombre de colonnes
.ColumnWidths = "80;70;180;120;100;70;70" ' Determine la largeur des colonnes
.List = tablo ' Transfert le tableau dans la listbox
End With
With Acceuil.ListBox2 ' Avec Userform
.ColumnCount = 7 ' Determine le nombre de colonnes
.ColumnWidths = "80;70;180;120;100;70;70" ' Determine la largeur des colonnes
.List = tablo ' Transfert le tableau dans la listbox
End With
Rien, vous remarquerez dans mon code que je n'appelle jamais la page "Palettes", ce n'est pas utile car une listbox est toujours unique dans un userform.
En PJ vous avez deux listbox en page Palettes et Planchettes.
( pour simplifier j'ai mis le même tableau )
VB:
With Acceuil.ListBox1 ' Avec Userform
.ColumnCount = 7 ' Determine le nombre de colonnes
.ColumnWidths = "80;70;180;120;100;70;70" ' Determine la largeur des colonnes
.List = tablo ' Transfert le tableau dans la listbox
End With
With Acceuil.ListBox2 ' Avec Userform
.ColumnCount = 7 ' Determine le nombre de colonnes
.ColumnWidths = "80;70;180;120;100;70;70" ' Determine la largeur des colonnes
.List = tablo ' Transfert le tableau dans la listbox
End With
Il suffit de dupliquer la première macro. Voir PJ.
Par contre j'arrête là, il y aura surement d'autres contributeurs pour vous aider.
Mais j'ai l'impression que les questions seront infinies.