VBA - Rechercher par contenu variable

Llyod

XLDnaute Nouveau
Bonsoir,

Je reviens encore vers vous pour savoir si je peux concaténer 2 variables de texte en 1 variable. Je suis entrain de simplifier au maximum la rentrée des joueurs pour un tournoi. Dans cet userform, on peux soit afficher un joueur et faire les modifications soit remplir des textbox pour que le joueur soit ajouté dans le tableau.

Cette partie est achevée, je souhaite lorsque je créai un joueur, avoir une vérification dans mon tableau pour ne pas qu'il soit crée 2 fois. J'ai donc concaténer dans une colonne du tableau, le "Nom". "Prénom". Ensuite j'ai voulu faire une recherche mais mon code bloque à la concaténation des 2 variables.

Après avoir regardé sur les forums, je trouve presque rien ou que avec variables de type numériques, es-ce que cela est possible avec du texte ? Y'a t-il une méthode plus simple pour faire cette recherche ?

EDIT: J'obtiens une "Erreur de compilation: Incompatibilité de type"

Rechercher dans Feuil1 si le nom existe déjà -->

Dim Concatener As String, Plage As Range, Nom As String, Prenom As String, Recherche As String
Set Plage = ActiveSheet.Columns(7)
Nom = TextBox1.Value
Prenom = TextBox2.Value
Concatener = Nom & "." & Prenom

Recherche = Plage.Cells.Find(what:=Concatener, lookat:=xlWhole)


'Condition remplissage pour écrire sur la feuille suivante -->

If (ComboBox1.Value = "" And TextBox1.Value <> "" And TextBox2.Value <> "" And TextBox3.Value <> "" And TextBox4.Value <> "" And Recherche Is Nothing) Then

Worksheets("Feuil1").Activate

'Valeur de la case Nom dans le tableau
Dim a As Integer

With Worksheets("Feuil1")
'Déclaration de la variable "der_cell"
a = Columns("C").Find("", Range("C1"), xlValues).Row 'variable = recherche de la dernière ligne de la colonne "C"
Cells(a, "C") = TextBox1
...

Je vous remercie,

Baptiste
 
Dernière modification par un modérateur:

gilbert_RGI

XLDnaute Barbatruc
Re : VBA - Variable qui concatène 2 variables

si vous faites ce test est-ce ce que vous recherchez ???

VB:
Sub test()
Nom = "Durand" 'à remplacer par la valeur de la textbox1
Prenom = "Marcel" 'à remplacer par la valeur de la textbox2
concatener = "\" & Nom & "." & "\" & Prenom
MsgBox concatener
End Sub
 

Llyod

XLDnaute Nouveau
Re : VBA - Variable qui concatène 2 variables

Merci cela fonctionne mais quand j'essaye dans mon code, j'ai toujours la meme erreur d'incompatibilité de type !
Comment peux t-on faire une recherche par rapport à une variable ?

EDIT : Après test, ca bloque sur cette ligne :
Recherche = Plage.Cells.Find(what:=Concatener, lookat:=xlWhole)
 
Dernière modification par un modérateur:

Llyod

XLDnaute Nouveau
Re : VBA - Rechercher par contenu variable

Bonsoir,

Merci pour le fichier mais es-ce cela cherche vraiment ? Car j'ai essayé de changer de cellule Dupond.Marcel et il me sort qu'il ne l'a trouve pas..D'ailleurs je ne comprend pas la suite du code ou l'on indique ou se trouve la cellule !

MsgBox Recherche & " a été trouvé"
[G3] = "Dupond.Marcel"
MsgBox "recommencer pour voir l'erreur": Exit Sub
suite:

MsgBox "La Variable n'a pas été trouvée"
[G3] = "Dupont.Marcel"

J'ai essayé plusieurs solutions cette aprem, j'ai réussi à faire marcher un code un résolvant tout les problèmes d'incompatibilités. Cependant il me resort tout le temps la valeur Nothing :mad:
Je vous mets à disposition le fichier, ca sera plus parlant.
Il s'agit de ce bout de code dans userForm1, et vous pouvez l'essayer en appuyant sur le bouton Joueurs 2.0.

Dim Concatener As String
Sheets("Feuil1").Columns("G:G").Select
Concatener = TextBox1.Value & "." & TextBox2.Value
Set cell = Selection.Find(What:=Concatener, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)

'MsgBox Concatener

If cell Is Nothing Then
MsgBox "Pas trouvé"
Else
MsgBox cell.Address
End If

Je vous remercie,
Baptiste
 

Pièces jointes

  • Tournoi.xlsm
    262.7 KB · Affichages: 28
  • Tournoi.xlsm
    262.7 KB · Affichages: 36
Dernière modification par un modérateur:

Statistiques des forums

Discussions
315 102
Messages
2 116 222
Membres
112 690
dernier inscrit
noureddinee