Application.VLookup / erreur d’exécution 13

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Re !

Je viens de m'apercevoir d'un truc

Tu utilises
Range("A2:BD" & FIN) --> alors que ma derniére colonne est BB ???

et tu comptes Then aa(i, 56) --> 56 colonnes, ce qui semble cohérent avec BD

Là je pige pas .... pourrais-tu m'expliquer, stp !


Bonne soirée

seb







Code:
Private Sub T1_Change()
If T1 <> "" Then L1.Clear Else With L1: .List = aa: .ColumnCount = 12: End With
    Dim i&, FIN&, y&, a&, mem As Boolean
    Application.ScreenUpdating = 0
    With Feuil3
        y = 1
        FIN = .Range("A" & Rows.Count).End(xlUp).Row
        aa = .Range("A2:BD" & FIN)
    End With
    For i = 1 To UBound(aa)
        aa(i, 55) = i + 1
        aa(i, 56) = ""
    Next i
        For i = 1 To UBound(aa)
            For a = 1 To UBound(aa, 2)
                If aa(i, a) Like "*" & T1 & "*" Then aa(i, 56) = "oui": y = y + 1: Exit For
            Next a
        Next i
    If y = 1 Then Exit Sub
        ReDim bb(y - 1, UBound(aa, 2) - 1)
        y = 1: y = 1
        For i = 1 To UBound(aa)
            If aa(i, 56) = "oui" Then
                For a = 1 To UBound(aa, 2) - 1
                    bb(y, a) = aa(i, a)
                Next a
                y = y + 1
            End If
        Next i
    With L1
        .ColumnCount = 54
        .List = bb
    End With
End Sub

Private Sub UserForm_Initialize()
    Dim i&, a&
    aa = Feuil3.Range("A2:BD" & Feuil3.Range("A" & Rows.Count).End(xlUp).Row)
    For i = 1 To UBound(aa)
        aa(i, 55) = i + 1
    Next i
    With L1
        .List = aa
        .ColumnCount = 12
    End With
End Sub
 

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Bonjour Seb le forum
bon alors non seulement il faut faire le travail mais en plus il faut expliquer pourquoi !!!!!
Je te taquine, bonne question en fait
C'est très simple je mets deux colonnes de plus car dans la première partie de mon code je fais:
Code:
For i = 1 To UBound(aa)
        aa(i, 55) = i + 1
        aa(i, 56) = ""
    Next i
le but est de donner à la valeur de aa(i,55) le numéro de la ligne de donnée et à aa(i,56) vide
comme cela même après avoir filtré je sais toujours quoi charger dans l'userform gestionposte avec le tag j'ai la colonne et avec aa(i,56) j'ai la ligne, et plus de problème de vlookup ou find, on est sur de charger les données de la ligne avec la recherche choisie ou double cliquée.
a+
Papou:eek:
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello
Super cette version

pas mal le coup que tu passes pas un L2 pour faire apparaître les contraintes "A relancer"

J'ai a peut prêt compris les explications du post 42

Pour l'usf_GENERAL cela me semble very good il manque que les en-têtes de colonnes et le fait que les colonnes s'auto-ajuste à la taille du contenu.
et que les listes soit tjrs triées par Colonne N° 3-C-SOCIETE


tu fais un taf super !!!

C'est un métier et/ou une passion ??

a+ Seb
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Re Seb le forum
J'ai a peut près compris les explications du post 42
Il faut pas que tu aies compris à peu près, c'est important de comprendre complètement. Qu'est-ce qui est flou dans ta tête??

C'est un métier et/ou une passion ??
C'est au départ une passion, mais maintenant je fais des programmes pour des grosses sociétés et je trouve cela très bien, et je continue d'aider sur XLD !!!
bonne journée
a+
Papou:eek:
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello

J'ai bcp de mal avec la notion UBound

en gros :
- Tu cherches une ligne
Une fois la ligne trouvée, tu attribut une valeur (n° de ligne) dans la derniére colonne +1
--> de la tu croise cette ligne avec les tags pour remplir tous les .controls

Mais c pas clair pour aa(i,56) vide, je vois pas à quoi ça sert .....:confused:

Bonne aprem

Seb
 

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Re Seb le forum
alors ubound c'est la dernière ligne de donnée d'un tableau Virtuel, et Lbound la première
Maintenant je t'explique plus mieux !!!! (Français nouvelle norme) que tu vas tout comprendre non de non !!!
un tableau je le déclare moi en AA et cela représente toutes les données de A2 à BB et dernière ligne OK je sais que cela tu l'as compris
Maintenant la bidouille Papou, c'est de mémoriser dans le tableau le numéro des lignes pour aller rechercher les données dans le tableau (plus simple pour après)
DONC je met deux colonnes de plus à mon tableau, et dans la première je mets le numéro de ligne (la première des deux colonnes ajoutées donc la colonne 55 et dans la colonne 56 par sécurité au cas ou il y aurait des données on ne sait jamais je remet la colonne 56 à rien Vide ok
Ensuite quand je fais ma boucle sur les toutes mes lignes et tes 54 colonnes, si je trouve une correspondance ALORS j'inscris "oui" dans la colonne 56 et je passe à la ligne suivante., et je compte le nombre de ligne que j'aurai à récupérer.
A la fin après avoir passé toutes les lignes en revue, je craie mon tableau de récupération bb et je le rempli avec toutes les lignes qui ont en aa(i,56) "oui" !!!! C'est tout simple en fait
et après je colle le tableau dans la listbox
voilà la V7 à tester
a+
Papou:eek:
 

Fichiers joints

Dernière édition:

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Oki

J'ais compris
je testerais à petit niveau pour mieux comprendre

Merci de l'explication

Code:
.Range("A2:BB" & .Range("A" & Rows.Count).End(xlUp).Row).Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlNo

Trie par la colonne A non ?
Pas par la colonne C !!!
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello
Pour info,
Au fur et à mesure du temps, et de l'avancée, j'applique tes codes sur ma bdd avec les vrais données...
Tout marche nikel !!!


Merci !

Bonne soirée

seb
 

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Bonsoir Seb le forum
bah moi je suis surpris !!! Tu pensais que je t'avais fait des codes spécialement pour toi, pour que cela ne marche pas??
a+
Papou:eek:
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello !

Excellente réponse ! J'adore !!

Next étape sur mon fichier ?

Bonne journée

Seb
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello,

Je viens d'avoir une super idée :

- en ne jouant plus sur les usf GENERAL / BASEEMPLOI / GESTIONPOSTE

--> mais en utilisant "visible / non visible" ---> l'idée vient de toi et ton code

Du coup, je régerai plutot des FRAMES et les .controls serait remplient dans les frames plutot que les USF ?

Du coup, cela changerais les références de tes codes USF --> FRAMES ?

Avec un menu à gauche, j'ai fait un premier visuel

CAPTURE MENU.jpg

Est-ce que tu crois que c'est viable et plus stable ?

hihhi je veux tjrs rajouter les en-tetes de colonnes (feuille BASE EMPLOI) dans les listbox !

Bonne journée

Seb
 

Fichiers joints

Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Re Seb le forum
Moi je pense que ton fichier est devenu un jeu, et non plus un outil !!!!
Faire une application pratique OK Fiable OK (c'est maintenant le cas je pense, non je ne le pense pas, je suis sur)
après d'avoir des frames ou multipage, est pour moi une idiotie!!!
Plus tu compliques, plus tu alourdis ton fichier et plus il sera difficile a gérer
voilà ce que moi j'en pense
bon week-end
a+
Papou:eek:
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello
Je te fais confiance, tu es de bons conseils.
Donc je reste sur des USF !
Bon We

Seb
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Hello !

Merci !

Je vais étudier ce code !!

A demain

Bonne nuit

Seb
 

GADENSEB

XLDnaute Impliqué
Re : Application.VLookup / erreur d’exécution 13

Purée !!!

il est nikel ton code ! J'adore !

Ya juste un truc que j'ai pas compris !

Pourquoi tu auto-fit les colonnes sur la page sommaire pour que cela ajuste dans la listview ?


Est-ce que l'on peut bosser sur l'USF BASEEMPLOI (qui permet la saisie dans la base) pour l'optimiser et le fiabiliser ?


Bonne journée

Merci

Seb
 

Paritec

XLDnaute Barbatruc
Re : Application.VLookup / erreur d’exécution 13

Bonjour Seb, le forum
bah oui on peut mais tu si le code est du style de tes anciens code usf_general et je ne sais plus quoi, je vais à nouveau tout viré !!!!
Mais je ne sais pas ce qu'il y a dedans je n'ai pas regardé et est-ce que j'ai les codes que tu as toi?? car tu fais un mic mac avec les versions d'après ce que j'ai pu comprendre, il serait tellement plus simple de mettre ton vrai fichier en changeant juste les données de la feuille Base si tu as des données confidentielles.
Enfin moi c'est ce que je ferais!!!
a+
Papou:eek:
 

Discussions similaires


Haut Bas