Tester le contenu d'un textbox

Butterfly_67 Messages postés 4 Statut Membre -  
Butterfly_67 Messages postés 4 Statut Membre -
Bonjour,


Je suis débutante en VBA et j'ai besoin d'un coup de main svp.

J'ai 1 tableau dont la 1ère ligne contient des numéros de contrats sous la forme xxxx-xx. J'ai un userform dans lequel je rentre ces numéros de contrat; je valide l'entrée par un bouton "VALIDER". Ensuite je veux tester que ce numéro xxxx-xx n'existe pas déja dans ma liste ... mais là ca coince ...

Private Sub CommandButton2_Click()
Dim c
Dim d


Windows("Production DAK 2010 (Enregistré automatiquement).xlsm").Activate
Sheets("MISE EN PROD").Select
Range("A1").Select
Selection.End(xlToRight).Select
ActiveCell.EntireColumn.Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

Unload CONTRAT


With Worksheets(1).Range("a1").End(xlToRight)

Set c = .Find(d, LookIn:=xlValues)
If Not c Is Nothing Then
Range("A1").End(xlToRight).Offset(0, 1).Value = TextBox1.Value
End If
End With


If d = " " Then MsgBox "Vous devez saisir un N° de contrat !!"
CONTRAT.Show

With Worksheets(1).Range("a1").End(xlToRight)
Set c = .Find(d, LookIn:=xlValues)
If c Is d Then
MsgBox "Contrat éxistant !!"
ActiveCell.ClearContents
ActiveCell.EntireColumn.Delete
Range("A1").Select
CONTRAT.Show
TextBox1 = " "
End If
End With


End Sub



Merci pour votre aide.





2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Essayez ceci et adaptez le

Private Sub CommandButton2_Click()
Dim c, d, x

Windows("Production DAK 2010 (Enregistré automatiquement).xlsm").Activate
Sheets("MISE EN PROD").Activate

d = TextBox1.Value

If d = "" Then
MsgBox "Vous devez saisir un N° de contrat !!"
Exit Sub
End If

With Worksheets(1).Range("a1").End(xlToRight)
x = Selection.Columns.Count
Set c = .Find(d, LookIn:=xlValues)
If Not c Is Nothing Then
' Contrat deja inscrit
MsgBox "Contrat éxistant !!"
TextBox1 = ""
Else
'Ecriture nouveau contrat
Cells(1, (x + 1)).Value = d 'TextBox1.Value
End If
End With
End Sub


Bonne continuation.
0
Butterfly_67 Messages postés 4 Statut Membre
 
Merci mais ... j'ai beau essayer, ca ne marche pas car il me met sans arrêt "contrat existant".
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
ReBonjour,
Ceci devrait aller

Private Sub CommandButton2_Click()
Dim c, d, x

Windows("Production DAK 2010 (Enregistré automatiquement).xlsm").Activate
Sheets("MISE EN PROD").Activate

d = TextBox1.Value

If d = "" Then
MsgBox "Vous devez saisir un N° de contrat !!"
Exit Sub
End If

Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
x = Selection.Columns.Count
With Worksheets(1).Range(Cells(1, 1), Cells(1, x))
Set c = .Find(d, LookIn:=xlValues)
If Not c Is Nothing Then
'Contrat deja inscrit
MsgBox "Contrat éxistant !!"
TextBox1 = ""
Else
'Ecriture nouveau contrat
Cells(1, (x + 1)).Value = d
TextBox1 = ""
End If
End With
End Sub

Bonne continuation.
0
Butterfly_67 Messages postés 4 Statut Membre
 
Merci beaucoup !!
0