Affichage avec deux type de recherche listbox1 et Listbox2

Bonjour,

J'ai modifié pour limiter le masque de recherche aux caractères qui précèderaient les caractères "[", "/" et "\". Si la référence du sillon ne peut être que numérique (sur 6 positions ?), je peux affiner.

5esv3-4.zip (594.47 Ko)

Cdlt,

Cylfo

Bonjour Cyflo,

Je vais faire des essais et je te redis

et je te remercie de ton aide mon projet avance doucement mais surement.

Maintenant,

Je cherche actuellement à solutionner le problème avec le webbrowser

J'explique lorsque qu'il y a qu'un sillon et je l'affiche.

Si je veux faire une recherche RT et j'affiche la RT trouvé

et si je veux réafficher le sillon la ligne est en bleu et je peu pas la réafficher

J'espère avoir été clair.

Bonjour, Cyflo,

Depuis ta correction du problème de la recherche de sillon,

Pas de problème de beugue lors de la recherche.

je te remercie de ton aide.

j'ai encore des problèmes avec webrowser je vais faire des recherches afin de pouvoir éviter le blocage quand je n ai que seul ligne dans le résultat de recherche de sillon et quand je veux regarder aussi une RT je ne peux plus rouvrir le sillon

je te remercie encore de ton aide

cordialement

Bonjour,

Ok. Si tu ne trouves pas la solution à ton problème de web browser, détailles les actions que tu fais en donnant un exemple avec des noms de fichier pour pouvoir le reproduire car en l'état je ne vois pas où est le pbm.

Cdlt,

Cylfo

Bonjour Cyflo,

Après beaucoup de lecture sur des forums, j'ai pas trouvé de solution à propos du webbrowser

J'explique lors de l'ouverture d'une journée

capture d ecran 2023 12 08 053603

Là, j'ai 2 sillons dans sillons

Donc quand j'ouvre le 1er sillon pas de soucis j'ai l'affichage

capture d ecran 2023 12 08 053621

Lorsque, j'ai besoin d'ouvrir une recherche RT pas de soucis

capture d ecran 2023 12 08 053748

c 'est la que le problème se pose, je ne peux plus ouvrir le 1er sillon car il a été déjà utilise en bleu

capture d ecran 2023 12 08 053832

Je sais pas s'il y a une solution tout en sachant que j'utilise le même webbrowser pour les deux fonctions, j'avais essayé avec le multipage mais les webbrowser disparaissaient quand je changer de page. donc l'utilisation du même webrowser

Cordialement Jluc

Bonjour Pelerin65

Remplaces le code des procédures ListBox1_Click et ListBox2_Click par :

Private Sub ListBox1_Click()
    With ListBox1
      If .ListIndex = -1 Then Exit Sub
      WebBrowser1.Navigate CHEMIN_LDL & CStr(.List(.ListIndex, 1)) & ".pdf#zoom=58%&page=1&toolbar=0"
   End With
   ' désélectionner l'élément de la listbox2 pour pouvoir le resélectionner
   Me.ListBox2.ListIndex = -1
End Sub

Private Sub ListBox2_Click()
   With ListBox2
      If .ListIndex = -1 Then Exit Sub
      Me.WebBrowser1.Navigate CStr(.List(.ListIndex, 0)) & "#zoom=45%&page=1&toolbar=0"
   End With
   ' désélectionner l'élément de la listbox1 pour pouvoir le resélectionner
   Me.ListBox1.ListIndex = -1
End Sub

(en commentaire, l'explication de la solution) et supprimes les procédures navigation_pdf et navi_pdf qui sont du coup inutiles.

Tu peux aussi remplacer la procédure ComboBox1_Change par (cela t'éviteras d'avoir des lignes vides dans la liste de la ListBox1 et aussi une erreur lorsque tuu cliques sur une ligne vide ...)

Private Sub ComboBox1_Change()
Dim i As Single
Dim ligne
Dim derligne
Dim fiche
Dim MyArray()
Dim aList()
   ListBox1.ColumnHeads = False 'en dessous ListBox1.ColumnCount = 2
   ListBox1.Clear
   ligne = -1
   With Sheets("RT")
      derligne = .Range("A" & .Rows.Count).End(xlUp).Row
      ReDim MyArray(0 To derligne - 2, 0 To 1)
      For i = 2 To derligne
         If .Cells(i, 1) = ComboBox1 Then
            ligne = ligne + 1
            MyArray(ligne, 0) = .Cells(i, 2)
            MyArray(ligne, 1) = .Cells(i, 3)
         End If
      Next i
   End With
   If ligne >= 0 Then
      ReDim aList(0 To ligne, 0 To 1)
      For i = 0 To ligne
         aList(i, 0) = MyArray(i, 0)
         aList(i, 1) = MyArray(i, 1)
      Next
      ListBox1.List() = aList
   End If
End Sub

Cdlt,

Cylfo

bonjour Cylfo,

j'ai modifié tes données, il me crée une erreur (voir photos)

capture d ecran 2023 12 14 142838

Je pense qu'il manque le chemin du dossier

Cordialement

Bonjour Pelerin65,

Oui j'ai oublié de l'indiquer, il fau ajouter (voir ci-dessous) en tête du module associé à UserForm2 la déclaration de la constante "CHEMIN_LDL" que j'ai créé pour pouvoir tester plus facilement en changeant le chemin.

Const CHEMIN = "C:\Loc Ng 23\06-Sillons\"
Const CHEMIN_LDL = "C:\Loc Ng 23\04-Livrets de Lignes\"

Cdlt,

Cylfo

bonjour Cyflo,

Premièrement Bonne année et santé à toi et tes proches.

Mon projet a un peu été modifié

J'ai un soucis avec l affichage des sillons du jour vu que la recherche journalier est différente

Serait-il possible d'avoir le même fonctionnement que la première version pour l'afficher les sillons lors de l'ouverture de l'usf.

je joins les fichiers

le premier sert à préparer et lors de la validation vérifier si la tournée existe

le deuxième pour les notes à prendre afin d'avoir un suivi par N° de Tournée.

Cordialement.

1esv-702-2024.zip (919.26 Ko)

Bonjour Pelerin65,

Dans le formulaire UserForm il n'y a aucun code d'initialisation des données et de fait je ne vois pas comment il pourrait fonctionner.

Tu indiques avoir un souci avec l'affichage des sillons et que la recherche est différente mais tu n'indiques ni le problème rencontré, ni en quoi la recherche est différente ...

Je n'ai pas identifié d'utilisation du fichier "esv-702-2024.xlsx" dans le code. En quoi est-il nécessaire dans le fonctionnement du fichier "recherche-tournee-24.xlsb" ?

Pour "le même fonctionnement que la première version", peux-tu me préciser le fichier que je t'ai envoyé et qui correspond au mode de fonctionnement attendu ?

Merci d'apporter les précisions pour que je puisse te répondre.

Cdlt,

Cylfo

Bonjour Cyflo,

Premier Problème

Voila, j'aimerai avoir lors de l'ouverture du l'userfrom dans le fichier "recherche de tournée"

les sillons du jour dans la listbox sillons (voir image)

capture d ecran 2024 01 23 083956

En cliquant sur le sillon trouvé de les ouvrir dans le webrowser.

capture d ecran 2024 01 23 084711

Quand je parle de fonctionnement différent, le principe de recherche est fait sur une extraction dans une feuille du fichier.

En validant sur le bouton "créer fichier"

ça vérifie si la tournée 'par le N° de tournée) existe déjà dans "C:\Loc Ng 24\03-Tournées réalisées" et ouvre le fichier existant.

Sinon en crée un nouveau fichier avec le N° de tournée.

J'espère avoir été clair cette fois-ci pour le Premier Problème

Deuxième problème

lors de l'ouverture ou la création du fichier.

J'aimerai lorsque je clique sur le toggle "ouvrir sillons" à l'ouverture de l'userfrom "SILLONS".

pouvoir les consultés si besoin.

capture d ecran 2024 01 23 090627

ou est il possible de pouvoir clique sur les lignes ou sont les sillons dans l'userfrom "Préparation de Tournée" directement et ça les ouvre aussi dans l'userfrom sillons.

capture d ecran 2024 01 23 091609

Je joins les deux fichiers et un sillon parfois le numéro de sillon peut-être sous cette forme "101320/1" et je sais que ça pose problème le"/"

1loc-ng-24.zip (303.28 Ko)

Je te remercie de ton aide

Cordialement

Bonjour Pelerin65,

Je ne comprends toujours pas pourquoi tu as supprimé la procédure d'initialisation du formulaire UserForm, donc le formulaire ne peut pas fonctionner sans compter que la compilation du code génère des erreurs !

J'ai réintégré le code d'origine, ce qui a corrigé au moins 90% du "problème" et je l'ai adapté pour le baser sur l'extraction et tenir compte que certains objets du formulaire ont (juste) changé de nom (mais pas plus significatif ce qui est dommage car cela facilite l'écriture / lecture du code "lGarage" est plus significatif que "Label52" ...). J'ai (re)mis en constante au début du module les noms des chemins, idéalement il faudrait les mettre dans un onglet (par exemple) "Paramètres" et les charger ce qui éviterait d'avoir à modifier le code au changement d'année, dans tous les cas merci de les garder/mettre à minima en constantes. ATTENTION : Il faudra que tu réactives les constantes qui concernent ton environnement et que tu mettes en commentaire (donc pas supprimer pour l'instant) celles qui pointent sur mon environnement.

Donc le 1er problème est résolu et j'ai modifié le code pour l'ouverture / création du fichier lié à la tournée ce qui nous amène au second problème ...

Pour le second problème, j’ai fait des modifications mais je ne peux pas tester sans écraser les liens (dont certains pointent vers des fichiers non communiqués) donc je te laisse tester. Par contre je n’ai pas compris la logique de la création à partir du fichier « loc ng 24.xlsb » :

  • Avant sauvegarde, l’extraction ne devrait pas être figée avec les données extraites par le fichier qui a génèré la création du classeur ?
  • Pourquoi conserver l’onglet BD et des liens vers le fichier d’origine ('C:\Loc Ng 24\01-Recherche Tournée\[Recherche Tournée 24.xlsb]Tableau de Bord') dans les 3 rubriques de sélection des critères ?

J’ai perdu du temps (trop) en raison d’anomalies présentes dans le fichier et qui n’auraient pas dû l’être (suppression de code, erreurs lors de la complilaton, renommage, procédures inexistantes, etc …) ou à minima signalées et expliquées clairement si tu es bloqué sur tel ou tel point. Donc je ne traiterai pas de nouvelles demandes si les fichiers présentes les mêmes carences.

5loc-ng-24-2.xlsb (292.28 Ko)

Cdlt,

Bonsoir Cyflo,

Je te remercie pour ton aide.

C'est vraiment ce que je cherchais comme résultat;

Il y a juste un problème avec la date de l'userform dans la fichier notes Loc Ng, il ne se mets pas à jour.

dons vu le code dans l'userform, si je comprends bien lorsque je clique sur bouton sillons, à l'ouverture de l'userform, il devrait y avoir les sillons du jour. Dans la listebox

capture d ecran 2024 01 26 235136

Cordialement

Bonjour Pelerin65,

Dans le formulaire "UserForm" et la procédure "UserForm_Initialize" je n'ai ajouté que le pavé lié à la recherche des masques "sillons" et je n'ai pas retouché le reste.

C'est dans cette même procédure que tu as aussi des For / Next vides et dans le code qui est situé vers la fin sous le commentaire "'avec la feuille "Notes Loc Ng" il y a des instructions à revoir dont "Label19" est alimenté par la date contenue dans la cellule "Y5" puis écrasé par la date du jour. Enlève la 2ème instruction et ton problème devrait être résolu.

Pour le bouton "Ouvrir Sillons", oui ou du moins c'est ce que tu devrais avoir mais que je n'ai pas pu tester.

Cdlt,

Cylfo

Bonsoir Cyflo,

Merci pour ton aide

J'ai trouvé pour le problème de date.

mais pour les sillons à l'ouverture de l'userform, pas de sillons dans la listebox

c est bien comme ca qui devait se produire

mais merci encore pour ton aide.

Bonjour Cyflo

J'aurais un petite question

Est-il possible de remplacer cette ligne dans la listbox" sillons du jour

C:\Loc Ng 24\05-Sillons\detail_sillon_101075_20240214.pdf

par juste le numéro de sillons "101075.pdf

Cordialement

Bonjour Pelerin65,

Oui, il suffit que tu modifies dans le formulaire UserForm, les propriétés de la ListBox2 et une ligne de code de la procédure UserForm_Initialize. Voir lignes surlignées en jaune ci-dessous :

image

Cdlt,

Cylfo

Bonsoir Cyflo

Super!!!! merci pour la modification de l'affichage des sillons

Cordialement

Rechercher des sujets similaires à "affichage deux type recherche listbox1 listbox2"