Recherche multicritère pour modification

Bonjour le Forum,

Je suis en train de créer un tableau pour aider à la planification du personnel en fonction des vols du jour.

On reçoit chaque matin un fichier avec les vols du jour. Celui-ci et transférer et traiter par mon tableau.

Durant la journée, l'utilisateur doit changer principalement les heures, porte ainsi que le nombre de PAX.

C’est pour modifier ces données que j’ai créé un Userform nommé Gest_Vol. Les macros commande provienne d’un modèle du site : http://boisgontierjacques.free.fr/ que j’ai repris et essayé d’adapter à mes besoin. Mais malheureusement, après plusieurs jours de recherche je bloque.

Dès que je veux effectuer une recherche, j’ai un message d’erreur suivant : erreur d’exécution ‘9’, l’indice n’appartient pas à sélection.

Private Sub TextBox6_Change()

If Me.TextBox6 <> "" Then

mots = Split(Trim(Me.TextBox6), " ")

Tbl = choix

For I = LBound(mots) To UBound(mots)

Tbl = Filter(Tbl, mots(I), True, vbTextCompare)

Next I

n = 0: Dim b()

For I = LBound(Tbl) To UBound(Tbl)

a = Split(Tbl(I), "|")

n = n + 1: ReDim Preserve b(1 To Ncol + 1, 1 To n)

For k = 1 To Ncol

b(k, I + 1) = a(k - 1)

If k >= 2 And k <= 2 Then b(k, I + 1) = Format(b(k, I + 1), "0000")

Next k

b(k, I + 1) = a(k - 1)

Next I

If n > 0 Then

ReDim Preserve b(1 To Ncol + 1, 1 To n + 1)

Me.ListBox1.List = Application.Transpose(b)

Me.ListBox1.RemoveItem n

End If

Else

Gest_Vol_Initialize

End If

End Sub

Je vous joint le fichier.

Nb. Je débute dans la création des UserForm

Un grand merci par avance

Bonjour Rosco,

Bonjour le forum,

ta variable choix est vide, -> tbl est vide et n'est pas considéré comme un tableau et donne donc des problèmes lorsque tu veux en déterminer les dimensions (lbound et ubound)

Bonjour, Salut h2so4 !

A tout hasard ! La procédure d'initialisation d'un Userform, c'est toujours :

Private Sub UserForm_Initialize()

A noter que ta procédure Gest_Vol_Initialize appelle des procédures qui n'existent pas dans ton fichier, des erreurs en perspective...

A noter aussi que tu ouvres ton Userform en NON modal, ce qui ne paraît pas opportun...

Cordialement.

Bonjour,

Un grand merci a vous deux pour vos réponses.

J’ai exploré les indications que vous m’avez transmises et malheureusement cela ne veut pas fonctionner.

J’ai vu que je n’avais pas le code au complet.

J’ai continué à chercher jusqu’à tard hier soir et j’ai continué ce matin. En explorant le forum, j’ai trouvé un modèle qui correspond mieux à ce que j’ai besoin. Malheureusement, je bloque tou-jours sur un message d’erreur : Erreur d’exécution ‘13’ Incompatibilité de type.

J’ai tenté de modifier le format de la plage de données onglet Base, plage A3 :E250 mais sans changement.

Je joins le tableau version « light » du projet.

La ligne d’erreur indiqué par le déboguer et dans le code est en rouge.

Private Sub TextBox1_Change()

Dim I As Integer

Dim J As Integer

Dim K As Integer

Dim L As Integer

Dim TL() As Variant

Me.ListBox1.Clear

If Me.TextBox1.Value = "" Then Exit Sub

K = 1

For I = 1 To NL

For J = 1 To NC

If InStr(1, TV(I, J), Me.TextBox1.Value, vbTextCompare) <> 0 Then

ReDim Preserve TL(1 To NC + 1, 1 To K)

TL(1, K) = I

For L = 1 To NC

TL(L + 1, K) = TV(I, L)

Next L

K = K + 1

Exit For

End If

Next J

Next I

If K > 1 Then

If K = 2 Then ReDim Preserve TL(1 To NC + 1, 1 To K)

Me.ListBox1.List = Application.Transpose(TL)

End If

End Sub

Un grand merci pour votre aide.

Rosco

8planop.xlsm (552.03 Ko)

Re-Bonjour :

C’est mieux avec le fichier sans les protections.

Rosco

13planop.xlsm (551.72 Ko)

Bonjour,

La ligne 120 col. A contient une valeur d'erreur.

Note aussi que :

TV = O.Range("A4").CurrentRegion

affectera à TV les valeurs de la plage A1:F250

Et également que l'évènement Change d'une TextBox se déclenche à chaque saisie d'un caractère... Pour ne déclencher que sur une saisie complète validée, utiliser AfterUpdate.

Cordialement.

Bonjour

Un grand merci MFerrand , grace à vos conseils, j’ai bien pu avancer dans mon projet.

Tout ce passe comme je le souhaite jusqu’à l’apparition de la boite de dialogue pour effectuer les corrections des vols. Il reste désespérément vide.

Je joins deuxliens pour voir les images du tableau pour le cheminement pour ouvrir cette BD ainsi que le fichier avec les corrections effectuées jusqu’à présent.

Excellente soirée

Rosco

16planop.xlsm (545.47 Ko)

Bonsoir,

Cf PJ

Ceuzin

Bonjour Ceuzin,

Un grand merci pour votre aide.

C'est exactement ce que j'ai besoin.

Je vais l'intégrer dans le tableau dans 2-3 jours, quand je reprend le boulot.

Encore merci d'être penché sur mon problème.

Rosco

Rechercher des sujets similaires à "recherche multicritere modification"