Probleme sur la fonction range de l'userform et dmade d'ameliora

Résolu
cedric0715 Messages postés 265 Statut Membre -  
cedric0715 Messages postés 265 Statut Membre -
Bonjour,

dans mon fichier j'ai deux userform
"nouvelle consignation" et "avis de fin de travail"
mon problème se trouve sur la première ligne ( ligne 4) remplie
quand je fais appel a avis de fin travail et je choisi la fiche 0001 les information s'inscrive dans mes titre et non a la ligne correspondante .
ce que je comprend pas c est a partir de la ligne 5 mes macro fonctionne

je voudrais si possible sur mes deux userform que tous les champs soient obligatoire .
j'ai réussi a que la date de l'attestation sois celle du jour mais pas pour l'heure est ce possible

j'ai mis en place un mise en forme conditionnel mais je voudrais l'automatiser
les colleur n’apparaisse que seulement si déconsigne et non déconsigne sont dans la colonne AC (valeur venant de l'userform avis de fin de travail checkbox a cocher)

ce que je voudrais c est que dès la validation de la nouvelle consignation ma ligne est en rouge et que je la passe verte quant dans mon userform "avis de fin de travail" je coche "oui" appareil déconsigné

le lien pour mon fichier est ci dessous
https://www.cjoint.com/c/GKrnxwQTlx4

je vous remercie de votre aide
merci

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    fichier modifie pour ligne 3 et MFC rouge/vert:https://www.cjoint.com/c/GKroK2oDLIf

    Mais Nouvelle Consignation, obligation d'ecrire consigné (voir MFC) en ACx sur remplissage consignation dans UF NCONS car si seulement travaux sans consignation que ce passe-t-il?
    0
    1. cedric0715 Messages postés 265 Statut Membre
       
      Merci cela me va
      pour ton explication il n 'y a pas besoin de faire d'attestation quand on est habilité BR
      0
    2. cedric0715 Messages postés 265 Statut Membre
       
      pour le rappel des donne j'ai mis en place dans mon tableau

      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
      Private Sub ComboBoxfiche1_Change()
      Dim Ligne As Integer
      With ThisWorkbook.Sheets("TABLEAU")
      Ligne = .Columns("B").Find(Me.ComboBoxfiche1.Value, .Range("b3"), xlValues).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 With
      Unload Me
      End Sub


      je trouve pas mon erreur
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > cedric0715 Messages postés 265 Statut Membre
       
      Bonjour,

      Ben, heureusement qu'il y a une erreur car vous ne verriez jamais le remplissage de votre UF.
      Enlevez le Unload Me. Sur quel choix avez vous une erreur ??
      0
    4. cedric0715 Messages postés 265 Statut Membre
       
      pour appel des donnés j ai mis cela mais cela ne marche toujours pas
      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


      et pour la validation j'ai une erreur (mis en gras)

      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("B").Find(ComboBoxfiche1.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


      merci
      0
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717 > cedric0715 Messages postés 265 Statut Membre
       
      Re,

      Avec un fichier que vous aviez mis a dispo, ca marche (comboboxfiche au lieu de comboboxfiche1)!!!
      Je vous ai modifie l'affectation de la comboboxfiche

      http://www.cjoint.com/c/GKumNzHn0Of
      0