1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

VLookup dans TextBox Concatener UserForm

Discussion dans 'Forum Excel' démarrée par Alexvob, 10 Octobre 2018.

  1. Alexvob

    Alexvob XLDnaute Nouveau

    Inscrit depuis le :
    10 Octobre 2018
    Messages :
    6
    "J'aime" reçus :
    0
    Bonjour,

    Après plusieurs jours de recherches, je suis dans l'impasse.

    Je souhaite par rapport a une base de donnée avoir différents résultat de recherche.

    Je souhaite utiliser VBA et UserForm et des TextBox.

    Le problème est que la base de la recherche est sur 3 critères "une année", "un numéro", "une ligne".

    Afin de facilité cette recherche j'ai concaténer dans ma base et dans mon UserForm mes 3 TextBox(1,2,3) afin d'avoir un résultat de la Concaténation dans le TextBox6.

    J'ai l'impression qu'un VLookup ne fonctionne pas avec une Concaténation VBA (à l'inverse d'une rechercheV avec Concaténation).

    La concaténation est obligatoire car d'année en année l'"année" et "numéro" peux changer mais les résultats recherché resterait le même.

    Je mets en lien mon fichier qui a une base

    Private Sub Workbook_Open()

    ThisWorkbook.Application.Visible = True
    Load Mandat
    Mandat.Show 0

    End Sub

    (ça peut gêner certain, vu sur d'autre forum)

    Merci d'avance.
     

    Pièces jointes:

  2. Chargement...

    Discussions similaires - VLookup TextBox Concatener Forum Date
    Vlookup dans Textbox Forum Excel 8 Juillet 2012
    XL 2016 [RESOLU] Message d'erreur si vlookup ne trouve pas la référence Forum Excel 7 Octobre 2018
    XL 2016 vlookup "croisés" Forum Excel 22 Septembre 2018
    XL 2003 Application.WorksheetFunction.VLookup erreur 1004 Forum Excel 2 Mars 2018
    XL 2016 Vlookup selon 2 critèes Forum Excel 13 Février 2018

  3. Jacky67

    Jacky67 XLDnaute Accro

    Inscrit depuis le :
    12 Juin 2016
    Messages :
    1123
    "J'aime" reçus :
    163
    Utilise:
    Excel 2007 (PC)
    Bonjour,
    Tester ceci !
    A la place de :
    >>Private Sub TextBox6_AfterUpdate()<<
    Code (Text):

    Private Sub TextBox6_Change()
    With Feuil1  ' ==>code name (j'ai inversé les feuilles)
      If IsNumeric(Application.Match(TextBox6.Value, .[a:a], 0)) Then
      Me.TextBox4 = .Cells(Application.Match(TextBox6.Value, .[a:a], 0), 5)
      Me.TextBox5 = .Cells(Application.Match(TextBox6.Value, .[a:a], 0), 6)
      Else
      Me.TextBox4 = ""
      Me.TextBox5 = ""
      End If
    End With
    End Sub
     
     

    Pièces jointes:

    Alexvob aime votre message.
  4. Alexvob

    Alexvob XLDnaute Nouveau

    Inscrit depuis le :
    10 Octobre 2018
    Messages :
    6
    "J'aime" reçus :
    0
    Bonjour,

    Je viens de tester et ça fonctionne à merveille !!! tu me fais économiser une calvitie !!!

    Merci beaucoup !!!
     
  5. Alexvob

    Alexvob XLDnaute Nouveau

    Inscrit depuis le :
    10 Octobre 2018
    Messages :
    6
    "J'aime" reçus :
    0
    J'ai une autre question :

    Quand j'ouvre mon fichier, Mon UserForm s'ouvre (sans le fichier excel, le but recherché) mais fait disparaître les autres fichiers excel externes aux macros. Mon bouton "Retour Excel" fait en sorte de faire réapparaître mon fichier source et... les autres fichiers externes.

    Quand mon UserForm est lancé et fait disparaître les autres fichiers externes, en cliquant sur la croix rouge, les fichiers externes ouvert auparavant ne réapparaisse pas...


    Mon problème est là...

    En gros comment rendre indépendant les actions des macros sans avoir d'action sur d'autres fichiers Excel ?

    - Code "ThisWorkbook" pour faire ouvrir seulement le UserForm :

    Private Sub Workbook_Open()

    ThisWorkbook.Application.Visible = False
    Load Mandat
    Mandat.Show 0

    End Sub

    - CommandButton de retour Excel :

    Private Sub CommandButton1_Click()

    ThisWorkbook.Application.Visible = True

    End Sub

    - CommandButton de fermeture de l'UserForm

    Private Sub CommandButton4_Click()

    ActiveWorkbook.Close savechanges:=False

    End Sub

    Je pense qu'il manque une action de "donner seulement l'action de faire à" ???

    Merci d'avance.
     
  6. Jacky67

    Jacky67 XLDnaute Accro

    Inscrit depuis le :
    12 Juin 2016
    Messages :
    1123
    "J'aime" reçus :
    163
    Utilise:
    Excel 2007 (PC)
    Re…
    Pas certain d'avoir compris ce que tu cherches à faire.
    Néanmoins, la gestion de la fermeture de l'userform par la "Croix rouge" peut se faire par
    Code (Text):
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
      Application.Visible = True
      'autres instructions
    End If
    End Sub
     
  7. Alexvob

    Alexvob XLDnaute Nouveau

    Inscrit depuis le :
    10 Octobre 2018
    Messages :
    6
    "J'aime" reçus :
    0
    Merci Jacky67 !

    Par exemple quand j'ouvre mon fichier "mandat3" avec le userform, macro... et que j'ouvre après un fichier excel lambda sans macro prédéfini, ma base de donnée "mandat3" s'affiche.

    Au contraire, si j'ouvre un fichier lambda sans macro prédéfini et après mon fichier "mandat3", le UserForm prend le dessus sur tout les fichier excel lancés.

    Le Macro de mon fichier "mandat3" est applicable a tout les fichier excel en cours.

    Est-il possible de n'avoir que l'action des macro/userform de "mandat3" que sur "mandat3" et que tout autres fichiers/classeurs excel lancer ne soit pas impacter par l'action de ces macro ?

    Merci pour ton aide ;)
     
  8. Jacky67

    Jacky67 XLDnaute Accro

    Inscrit depuis le :
    12 Juin 2016
    Messages :
    1123
    "J'aime" reçus :
    163
    Utilise:
    Excel 2007 (PC)
    Re..
    Si quand tu parles d'action tu penses à "Application.Visible" , sauf erreur, je ne crois pas que cela soit possible, puisque c'est l'application que tu rends visible ou pas et non pas un classeur.

    **Pour le bouton "Quitter"
    Code (Text):
    Private Sub CommandButton2_Click() 'Quitter
      Application.Visible = True
      ThisWorkbook.Close False
    End Sub
    Bonne nuit
     
    Dernière édition: 11 Octobre 2018

Partager cette page