![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Messages: n/a
|
Bonjour les Amis et Amies d'XLD Thuan dans ce Fil de Discussion Pb de conflit entre le filtrer élaboré et le filtre par la méthode Collection avait un problème pour comptabiliser les Items retournés par un AutoFilter tout en ne comptabilisant que les enregistrements uniques... J'ai pensé interressant de faire une Démo là dessus, car ce sont des questions qui reviennent assez souvent entre la manipulation des AutoFilters par VBA, les Doublons, et New Collection... Je vous laisse découvrir... Pendant que je file casser la croute la croute !quand même !! Bon App @+Thierry |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Messages: n/a
|
Bonjour Thierry
Tu as quand même le temps de manger ???? Superbe Démo qui va sûrement me servir dans pas longtemps pour 2 ou 3 petites choses, merçi et bon après-midi. Salut Pat5 ;o) |
|
|
#3 (permalink) |
|
Messages: n/a
|
Bonjour le Forum,
Re Bonjour @+Thierry, Tu es vraiment un chef nous mettre des listes de codes a disposition, j'ais regarde cette démo et il y a un petit bug justement par rapport a ton intitulé "Exemple: si je choisi de filtrer selon l'age, je veux savoir combien il y a de personne qui ont 22 ans, le résultat dans la colonne A qui est Elodie, fred, fabien, arnaud, alain, élodie, marion, marie, fabien. Or je veux pas que la Fonction Calculer me met 9 mais 7 car il faut enlever les doublons." donc ton bug c'est que l'enoncé aurait du etre / Or je veux pas que la Fonction Calculer me met 10 mais 8 car il faut enlever les doublons." hi hi hi hi hi hi je t'ais bien eut lol ) ) ) ) )En attendant merci pour l'aide que tu apportes sur ce Forum!!!!!!!!!!!! A+ Jocelyn |
|
|
#4 (permalink) |
|
Messages: n/a
|
Bonjour @+Thierry, Pat5, Jocelyn et le forum
Merci pour ton aide Thierry, ce que tu as fait est super génial, mais c'est trop compliqué pour moi, je veux faire un truc tout simple et je veux garder mon filtre automatique d'excel. je vais faire une petite démo (chez moi à tête reposée) de ce que je veux faire et je le mets sur le forum Merci encore thuan |
|
|
#6 (permalink) |
|
Messages: n/a
|
Bonsoir les amis, le Forum Alors voici ton Fichier "Vu et Corrigé" ![]() Tu n'étais pas loin, il te manquait surtout le Set d'Objet Range sur SpecialCells(xlCellTypeVisible)... Bonne Soirée @+Thierry |
|
|
#7 (permalink) |
|
Messages: n/a
|
Bonjour @+Thierry, Pat5, Jocelyn et le forum
UN GRAND MERCI !!!!!!!! Tu es trop fort ton aide m'es très utile Encore merci Au fait j'ai un autre pb peux tu y jeter un oeil STP merci Je voudrais faire la chose suivante: j'ai sur un classeur1 deux userform: userform1 userform2 je crée à l'aide de la userform1 un nouveau classeur: classeur2 je voudrais en plus affecter au classeur2 la userform2 Le pb c'est que je sais pas quel méthode utilisée |
|
|
#8 (permalink) |
|
Messages: n/a
|
Bonjour Thuan, Pat5, Jocelyn, le Forum Merci des compliments ! Pour ta dernière question, il ya différentes approches et là je suis pressé... 1) on peut générer le USerForm 100% par VBA mais celà nécessite un peu de connaissance en programmation... 2) on peut copier le classeur entier et supprimer les modules et UserForm non nécessaires (plus simple) Je te conseille ce Fil de Discussion où j'ai essayé de regrouper un peu tout ceci : >>> DATABASE XLD <<< FIL RECENCEMENT FIL >> 21649 "VBA Effacement Macro" Bon Courage !!! le fil est long et renvoie sur des liens !!! Bon Vendredi à tous et toutes @+Thierry |
|
|
#9 (permalink) |
|
Messages: n/a
|
Tiens c'est remoi !!
Une 3) approche (après mon café) encore plus simple, tu exportes ton UserForm et tu le ré-importe par VBA ... Option Explicit Sub ImportUSFAuto() Dim MonUSF As String MonUSF = "C:\Mes Documents\UserForm1.frm" With Workbooks("LeClasseurCible.xls").VBProject .VBComponents.Import MonUSF End With End Sub Très simple !!! @+Thierry |
|
|
#10 (permalink) |
|
Messages: n/a
|
Bonjour @+Thierry, Pat5, Jocelyn et le forum
Voila je viens de lire ton fil thierry, il est très instructif mais le seul pb c'est que je me considère encore comme un débutant en VB, et donc je suis pas à quoi peuvent servir les Modules, et comment ont les appliquent. De plus je pense pas être capable de mettre en place mon projet avec les différents exemples qui sont en ligne. Voila ce que je veux faire: Je crée un classeur1 qui contient deux userforms la première releve les feuille dans mon classeur dans une listbox, et je peux choisir les feuilles que je veux copier, je clique sur le boutton "copier..." Vb me créer un nouveau classeur avec les feuilles sélectionnées précédemment, je veux maintenant qui me copie en plus des feuilles la userform2 et l'applique à mon nouveau classeur. De plus lors de la copie de feuille je ne sais pas à l'avance comment sera nommé le nouveau classeur donc pas moyen de la déclarer à l'avance. Je mets un fichier exemple pour que tu puisse m'aider Encore merci pour ton aide thuan |
|
|
#11 (permalink) |
|
Messages: n/a
|
Re-Bonjour Thuan, le Fil, le Forum Humm oui, mais disons que c'est un peu hors sujet toute cette histoire vis à vis du sujet initial de ce fil discussion... Enfin tans qu'on y est... Bon alors ton UserForm2 tu en fais un export manuel (depuis VBA Explorateur de Projets, Click droit en sélectionnant ce UserForm, puis "Export File" (Export Fichier (?) je suis en américain) tu fais ton export là où tu souhaite, en réseau ou en local... Pour l'exemple je reste en Local... Donc imaginons que tu as exporté ton UserForm2 vers : "C:\Documents and Settings\te\My Documents" Dans My Documents Tu vas trouver DEUX fichier : 1) UserForm2.frm 2) UserForm2.frx Tu les laisses là... Ensuite je reprends ton code comme suit : Private Sub CommandButton1_Click() Dim Classeur As Workbook Dim Feuille As Worksheet Dim MyArray() As String Dim i As Integer Dim X As Byte Dim MyUSF As String MyUSF = "C:\Documents and Settings\TonID\My Documents\UserForm2.frm" Application.ScreenUpdating = False Set Classeur = ThisWorkbook For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = True Then ReDim Preserve MyArray(X) MyArray(X) = ListBox1.List(i) X = X + 1 End If Next Classeur.Worksheets(MyArray).Copy With ActiveWorkbook.VBProject .VBComponents.Import MyUSF End With End Sub A ce stade tu auras bien le UserForm2 avec son Code dans le nouveau classeur... Mais.... Il y a un Mais ! Attention à ce Code !!!En effet si tu laisses, avec ta ListBox, le choix au User de sélectionner les Feuilles à copier dans un nouveau classeur , il n'aura pas forcément pris dans la séléction la "Feuil1"... Or tu as ceci dans ton Code du UserForm2 que l'on vient d'importer dans ce nouveau classeur : Private Sub CommandButton1_Click() Dim i As Integer Dim j As Integer With Sheets("Feuil1") '<<<< Niet Niet !! Source de Bug !! For i = 1 To 7 For j = 1 To 7 Cells(i, j).Value = 111 Next j Next i End With End Sub Donc il te faudra gérer ceci aussi, par exemple avec l'index de Feuille éventuellement, (With Sheets(1)), ou encore With ActiveSheet... Bonne Programmation et Bon Appétit @+Thierry |
|
|
#12 (permalink) |
|
Messages: n/a
|
Bonjour @+Thierry, Pat5, Jocelyn et le forum
Je te remercie pour ton aide je vois que tu touche ta bille et c'est cool que tu puisse donner un peu de tps à aider les débutant comme moi... Encore un grand merci!!!! Bon week end thuan |
| ANNONCES | |
| Outils de la discussion | |
|
|