VLookup dans TextBox Concatener UserForm

  • Initiateur de la discussion Initiateur de la discussion Alexvob
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alexvob

XLDnaute Nouveau
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

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.

Bonjour,
Tester ceci !
A la place de :
>>Private Sub TextBox6_AfterUpdate()<<
Code:
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

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.
 
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.
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:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
  Application.Visible = True
  'autres instructions
End If
End Sub
 
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 😉
 
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:
Private Sub CommandButton2_Click() 'Quitter
  Application.Visible = True
  ThisWorkbook.Close False
End Sub

Bonne nuit
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
1 K
Retour