XL 2013 Posez votre question Liste des messages Discussion Liste des forums Signaler Problème sur validatio

bredeche

XLDnaute Occasionnel
bonjour
j'ai un probleme sur la validation des données de mon userform
code ci dessous
Code:
rivate Sub CommandButton1_Click()
Dim l_info As Integer
Dim ws As Worksheet

TextBoxFINDAT.Tag = Date
Set ws = ThisWorkbook.Worksheets("TABLEAU")
With ws
    l_info = .Columns(2).Find(ComboBoxfiche.Value, , , xlWhole).Row
    .Range("W" & l_info).Value = TextBoxFINCH 'NOM CHARGE DE TRAVAUX'
    .Range("X" & l_info).Value = TextBoxFINST 'societe'
    .Range("Y" & l_info).Value = TextBoxFINCCS 'NOM CHARGE DE consignation'
    .Range("Z" & l_info).Value = Format(CDate(TextBoxFINDAT.Tag), "dd/mm/yyyy")  'date des travaux terminer'
    .Range("AA" & l_info).Value = TextBoxFINHEU 'heure des travaux terminer'
    If CheckBox1.Value = True Then
        .Range("AC" & l_info).Value = "Déconsigné"
   Else
        .Range("AC" & l_info).Value = "Non Déconsigné"
   End If
End With
Unload Me
End Sub

pour le rappel des donne j'ai mis en place dans mon tableau

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 29 Then UserFormRAPPEL.Show
End Sub

et j’ai créé le même userform qu'avis de travail et et j'ai mis ce code et visual me dis qu’il y a une erreur
Code:
Private Sub ComboBoxfiche1_Change()
  
  Dim cel As Range, Ligne As Integer
  
  With ThisWorkbook.Sheets("TABLEAU")
  Set cel = .Columns("B").Find(Me.ComboBoxfiche1.Value, .Range("b3"), xlValues)
  If Not cel Is Nothing Then
  Ligne = cel.Row
  Me.TextBoxFINCH.Value = .Cells(Ligne, "W") 'colone W'
  Me.TextBoxFINST.Value = .Cells(Ligne, "X") 'colone S'
  Me.TextBoxFINCCS.Value = .Cells(Ligne, "Y") 'colone Y'
  Me.TextBoxFINDAT.Value = .Cells(Ligne, "Z") 'colone Z'
  Me.TextBoxFINHEU.Value = .Cells(Ligne, "AA") 'colone AA'
  End If
  End With
End Sub

merci de votre aide
ci dessous mon fichier
http://www.cjoint.com/c/GKujGvCJti5
 
Dernière édition:

jp14

XLDnaute Barbatruc
Bonjour
J'ai rajouté ce code pour rechercher le numéro de ligne, dans un combobox les données sont du type string , dans la colonne A des chiffres.

Code:
Private Function Ligne() As Long
Dim Col1 As String
Dim MonTab As Variant, Compt1 As Long
Col1 = "A"
With ThisWorkbook.Worksheets("TABLEAU")
Set Plg1 = .Range(Col1 & "4:" & Col1 & .Range(Col1 & .Rows.Count).End(xlUp).Row)
MonTab = Plg1.Value
For Compt1 = LBound(MonTab, 1) To UBound(MonTab, 1)
    If CStr(MonTab(Compt1, 1)) = ComboBoxfiche.Value Then
        Ligne = Compt1 + 4
        Exit Function
    End If
Next Compt1
End With
End Function

Code de l'userform modifié
Code:
Private Sub CommandButton1_Click()
Dim l_info As Integer
Dim ws As Worksheet
TextBoxFINDAT.Tag = Date
Set ws = ThisWorkbook.Worksheets("TABLEAU")
With ws
  'l_info = .Columns(2).Find(ComboBoxfiche.Value, , , xlWhole).Row
  l_info = Ligne
  .Range("W" & l_info).Value = TextBoxFINCH 'NOM CHARGE DE TRAVAUX'
  .Range("X" & l_info).Value = TextBoxFINST 'societe'
  .Range("Y" & l_info).Value = TextBoxFINCCS 'NOM CHARGE DE consignation'
  .Range("Z" & l_info).Value = Format(CDate(TextBoxFINDAT.Tag), "dd/mm/yyyy")  'date des travaux terminer'
  .Range("AA" & l_info).Value = TextBoxFINHEU 'heure des travaux terminer'
  If CheckBox1.Value = True Then
  .Range("AC" & l_info).Value = "Déconsigné"
  Else
  .Range("AC" & l_info).Value = "Non Déconsigné"
  End If
End With
Unload Me
End Sub

JP14
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Personnellement j'ai pour principe de toujours affecter, à la propriété Value des objets Range représentant une cellule, des expressions du type de la valeur de cellule que je veux. Donc String, Double, Date, Currency, Boolean, Empty ou Error. Sachant que Date et Currency sont probablement fictifs, et résultent d'une combinaison de la valeur réellement stockée en Double seulement, combinée à un format d'affichage approprié de la cellule.
À titre d'exemple, une cellule ne peut pas avoir la valeur 1,234. Ellle peut avoir comme valeur le texte "1,234", qui ne peut pas intervenir directement dans des calculs, ou bien la valeur 1,2339999999999999857891452847979962825775146484375 en binaire double précision, plus un format Standard.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
476