OVH Cloud OVH Cloud

Question d'esthétique !!

49 réponses
Avatar
DT
Bonjour

J'ouvre différents UserForm tour à tour mais j'aimerais que la Feuil4 soit
toujours en "fond" derrière les UserForm. J'ai donc mis des Feuil4.Activate
un peu partout dans mes codes mais rien n'y fait, un breve instant, je vois
la feuille qui est en traitement.
En prenant comme modèle le code ci dessous, je comprend bien qu'il active la
Feuil4 mais qu'a un certain moment il selectionne la Feuil2. Y a t'il pas
une solution pour figer la feuille de fond Feuil4 ?

Merci de votre aide
David


Private Sub UserForm_Initialize()
Feuil4.Activate

Feuil2.Select
If Feuil2.AutoFilterMode = True Then
Selection.AutoFilter
Range([A1], [J65000].End(xlUp)).AutoFilter
Else
Trier
IniObjet
End If

Feuil4.Activate
End Sub

10 réponses

1 2 3 4 5
Avatar
DT
Bonjour Daniel

Pour ma part, toujours l'erreur

Je peus t'envoyer le projet complet en BAL perso ?

Au cas ou si nous avons pas la même chose

Cordialement

David
Avatar
Daniel.C
http://cjoint.com/?cbmaicd8rx
Daniel

Bonjour Daniel

Pour ma part, toujours l'erreur

Je peus t'envoyer le projet complet en BAL perso ?

Au cas ou si nous avons pas la même chose

Cordialement

David


Avatar
DT
Dans le fichier que tu as envoyé, il y a pas le code de michdenis (et non
plus le tien) qui permet de charger la ListBox plus vite soit à la place de
:

With Me.LstResultat
.Clear
For Each c In plage1
.AddItem c.Value
.List(.ListCount - 1, 1) = c.Offset(, 1)
.List(.ListCount - 1, 2) = c.Offset(, 2)
.List(.ListCount - 1, 3) = c.Offset(, 3)
.List(.ListCount - 1, 4) = c.Offset(, 4)
.List(.ListCount - 1, 5) = c.Offset(, 5)
.List(.ListCount - 1, 6) = c.Offset(, 6)
.List(.ListCount - 1, 7) = c.Offset(, 7)
.List(.ListCount - 1, 8) = c.Offset(, 8)
.List(.ListCount - 1, 9) = c.Offset(, 9)
Next
End With

il faut remplacer par :

Dim DerLig As Long
With Feuil2
DerLig = .Range("A:J").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
With Me.LstResultat
.Clear
.ColumnCount = 10
.BoundColumn = 1
.List = Feuil2.Range("A2:J" & DerLig).Value
End With
End With
Avatar
michdenis
Bonjour Daniel,

| il y a pas le code de michdenis

How dare you ?

;-)))
Avatar
Daniel.C
Bonjour Denis,
Ach ! Ich bin very confused ;-)))
Daniel

Bonjour Daniel,

il y a pas le code de michdenis



How dare you ?

;-)))


Avatar
Daniel.C
Euh, c'est ton dernier envoi. Envoie le fichier, qu'on soit bien
synchro.
Daniel

Dans le fichier que tu as envoyé, il y a pas le code de michdenis (et non
plus le tien) qui permet de charger la ListBox plus vite soit à la place de :

With Me.LstResultat
.Clear
For Each c In plage1
.AddItem c.Value
.List(.ListCount - 1, 1) = c.Offset(, 1)
.List(.ListCount - 1, 2) = c.Offset(, 2)
.List(.ListCount - 1, 3) = c.Offset(, 3)
.List(.ListCount - 1, 4) = c.Offset(, 4)
.List(.ListCount - 1, 5) = c.Offset(, 5)
.List(.ListCount - 1, 6) = c.Offset(, 6)
.List(.ListCount - 1, 7) = c.Offset(, 7)
.List(.ListCount - 1, 8) = c.Offset(, 8)
.List(.ListCount - 1, 9) = c.Offset(, 9)
Next
End With

il faut remplacer par :

Dim DerLig As Long
With Feuil2
DerLig = .Range("A:J").Find(What:="*", _
LookIn:=xlValues, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
With Me.LstResultat
.Clear
.ColumnCount = 10
.BoundColumn = 1
.List = Feuil2.Range("A2:J" & DerLig).Value
End With
End With


Avatar
DT
Bonjour Denis.

Bin oui j'ose le dire !!!

Voici daniel

http://www.cijoint.fr/cjlink.php?file=cj201002/cijfddl48z.xls

Merci à vous deux pour l'avancement de mon projet
Avatar
DT
Oups. Fichier complet. Désolé.

Manip :

1) Historique carburant

2) Dans Alias par exemple T3

3) Rechercher

4)On peux constater qu'un filtre s'effectue.

4) Constate le nombre d'enregistrement en haut à gauche, 65 à la place de 5

5) Retour Menu et dans l'onglet "HISTORIQUE", on constate que le filtre
s'est bien effectué. Le 65 est en fait l'avant dernière ligne du tableau de
la feuille !
Avatar
Daniel.C
En effet, tu ne peux pas copier les enregistrés filtrés d'un coup. Soit
tu adoptes ma méthode pour les résultats (plus lente, mais ça dépend du
nombre d'enregistrements filtrés) en conservant le code de Michdenis
pour le chargement initial, soit il faut changer de méthode et
effectuer un filtre avancé / élaboré avec résultat su un autre
emplacement, puis utilisation du code de michdenis pour le chargement
du résultat.
Daniel

Oups. Fichier complet. Désolé.

Manip :

1) Historique carburant

2) Dans Alias par exemple T3

3) Rechercher

4)On peux constater qu'un filtre s'effectue.

4) Constate le nombre d'enregistrement en haut à gauche, 65 à la place de 5

5) Retour Menu et dans l'onglet "HISTORIQUE", on constate que le filtre s'est
bien effectué. Le 65 est en fait l'avant dernière ligne du tableau de la
feuille !


Avatar
DT
Bon bin la c'est le coup derrière la tête !!!

En faisant l'essai avec 1100 enregistrement (moins d'un an), le grand
gagnant est michdenis avec 3 secondes avant ouverture du formulaire contre
28 secondes pour toi ! mais les filtres ne fonctionnent plus et le but
initial été bien celui ci au début du projet.

Être si prés de la fin du projet et changer beaucoup de chose en posant
encore de multiples questions ! Temps passé 15 jours environ ! (non perdu,
car on apprend)

Le choix est difficile ....

Je vais digérer tous cela devant une bonne tasse de café !!!

Merci pour tout à vous deux.

Je reviens si la corde à cédée !!!

David
1 2 3 4 5